\section{Group -- Water Heaters and Thermal Storage}\label{group-water-heaters}

Water heater objects are components for storing and heating water. They can be coupled to a plant loop simulation or used stand-alone. Typical water heater applications are for domestic hot water heating, low-temperature radiant space heating, and energy storage for solar hot water systems or waste heat recovery.

When coupled to the plant loop, the water heater has an inlet node and outlet node on the ``source side'' and an inlet node and outlet node on the ``use side''. The source side typically draws cold water from the tank and returns warmer water, for instance, from solar hot water systems or waste heat recovery systems. The use side typically draws hot water from the tank and returns cooler water from the cold water supply mains or from the outlet of a heating system. The distinction between source and use sides is merely a convenience for reporting. They can actually be used interchangeably. If so desired, either source side or use side can be used by itself, without the other side being connected to the plant loop.

However, for a water heater that is indirectly heated (e.g.~with a separate boiler), the source side can be used to provide remotely heated water to the tank.~ The source side is configured to operate as a component on the demand side of a plant loop.~ The design flow rate through the source side can be set by the user or autosized.~ If autosized, then a Plant Sizing object is needed elsewhere in the input file for the Plant Loop serving the source side.~ The water heater input includes an additional design parameter that describes how rapidly the tank can recover.

\begin{figure}[hbtp] % fig 80
\centering
\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/image191.png}
\caption{Water Heater Configuration \protect \label{fig:water-heater-configuration}}
\end{figure}

If the use side only consists of domestic hot water usage, a simple scheduled use flow rate can be specified in lieu of the full plant loop connections. The scheduled use flow rate can be used simultaneously with source side plant connections, but cannot be used with use side plant connections.

For stand-alone operation, there are no node connections to the plant loop on either source or use sides. The scheduled use flow rate determines all fluid exchange with the water tank.

There are currently two water heater objects in EnergyPlus:

\begin{itemize}
\item
  \hyperref[waterheatermixed]{WaterHeater:Mixed}
\item
  \hyperref[waterheaterstratified]{WaterHeater:Stratified}
\end{itemize}

There are also compound objects that uses the \hyperref[waterheatermixed]{WaterHeater:Mixed} and/or \hyperref[waterheaterstratified]{WaterHeater:Stratified} as part of their strategy:

\begin{itemize}
\tightlist
\item
  \hyperref[waterheaterheatpumppumpedcondenser]{WaterHeater:HeatPump:PumpedCondenser} (\hyperref[waterheatermixed]{WaterHeater:Mixed} or \hyperref[waterheaterstratified]{WaterHeater:Stratified})
\item
  \hyperref[waterheaterheatpumpwrappedcondenser]{WaterHeater:HeatPump:WrappedCondenser} (\hyperref[waterheaterstratified]{WaterHeater:Stratified} only)
\end{itemize}

The \hyperref[waterheatermixed]{WaterHeater:Mixed} object simulates a well-mixed, single-node water tank. The \hyperref[waterheaterstratified]{WaterHeater:Stratified} object simulates a stratified, multi-node water tank. Both water heater objects can be appropriate for simulating many types of water heaters and storage tanks, including gas and electric residential water heaters, and a variety of large commercial water heaters. Both objects share similar features, such as stand-alone operation, on- and off-cycle parasitic loads, and thermal losses to the zone. However, each object has its advantages which may make one water heater object more appropriate than the other depending on the application.

Advantages of \textbf{\hyperref[waterheatermixed]{WaterHeater:Mixed}}:

\begin{itemize}
\item
  can simulate instantaneous/tankless water heaters
\item
  requires less input than the stratified tank
\item
  faster execution time than the stratified tank
\item
  adequate for modeling gas water heaters with no source connections.
\end{itemize}

Advantages of \textbf{\hyperref[waterheaterstratified]{WaterHeater:Stratified}}:

\begin{itemize}
\item
  better modeling of electric water heaters with two heating elements
\item
  better modeling of thermal storage applications which rely on stratification to improve heat transfer performance.
\end{itemize}

\subsection{Standard Ratings}\label{standard-ratings}

The EIO file reports the industry standard ratings of Recovery Efficiency and Energy Factor for water heater objects. The rating method is based on the GAMA and 10CFR430 test procedures. Under certain input parameters, the rating method will not succeed and a warning message will be generated. Problems occur when inputs do not allow the tank to recover to the setpoint temperature within the test period. This can occur if the maximum heater capacity is undersized, or if the deadband temperature difference is large enough that the first draw of the test does not trigger the heater to come on. In either case, the Recovery Efficiency test will not compute properly because recovery to the setpoint was not achieved.

Standard ratings for storage-only water tanks (Heater Maximum Capacity = 0) cannot be calculated and do not report anything in the EIO file.

\subsection{WaterHeater:Mixed}\label{waterheatermixed}

The WaterHeater:Mixed object analytically solves the differential equation governing the energy balance of the water tank. Within a timestep, conditions are solved separately for when the heater element or burner is ``on'' (on-cycle) and when it is ``off'' (off-cycle). This approach allows ambient losses and parasitic loads to be divided into on-cycle and off-cycle effects and accounted for in detail.

For losses to the ambient environment, the ambient air temperature can be taken from a schedule, a zone, or the exterior. When used with a zone, a fraction of the skin losses can be added to the zone heat balance as internal heat gains.

Control options allow the heater to cycle or modulate to meet the load. When cycling, the heater element or burner is either on or off. The heater remains fully on while heating the tank up to the setpoint temperature. When the setpoint is reached, the heater turns off. The heater remains off until the tank temperature falls below the ``cut-in'' temperature, i.e., the setpoint temperature minus the deadband temperature difference. The heater continuously cycles on and off to maintain the tank temperature within the deadband. Most storage-tank water heaters cycle.

When modulating, the heater power varies between the maximum and minimum heater capacities. The heater stays on as long as the required total demand is above the minimum capacity. Below the minimum capacity, the heater will begin to cycle on and off based on the deadband temperature difference. Equipment is usually designed and rated to avoid this condition. Most tankless/instantaneous water heaters modulate.

\subsubsection{Inputs}\label{inputs-052}

\paragraph{Field: Name}\label{field-name-050}

The name of the WaterHeater:Mixed object.

\paragraph{Field: Tank Volume}\label{field-tank-volume-000}

The volume of the storage tank {[}m\(^{3}\){]}.~ This field is autosizable if used with a Water Heater:Sizing object.~ Although this field is allowed to go down to zero, even so-called ``tankless'' water heaters have some volume of water that is maintained around the heating elements or in the heat exchanger, typically around 0.00379 m\(^{3}\) (1 gallon).

\paragraph{Field: Setpoint Temperature Schedule Name}\label{field-setpoint-temperature-schedule-name-001}

The reference to the schedule object specifying the hot water temperature setpoint {[}°C{]}. Also known as the ``cut-out'' temperature.

\paragraph{Field: Deadband Temperature Difference}\label{field-deadband-temperature-difference-000}

The delta temperature difference {[}$\Delta{^\circ}C${]} between the setpoint and the ``cut-in'' temperature at which the heater will turn on. In other words, the ``cut-in'' temperature is Setpoint -- Deadband.

One note here is that if a source side connection exists, how this \emph{Deadband Temperature Difference} is used is dependent on the ``\emph{Source Side Flow Control Mode}''{[}\ref{field-source-side-flow-control-mode}{]} choice. If \emph{Source Side Flow Control Mode} is \emph{IndirectHeatPrimarySetpoint} or
\emph{IndirectHeatAlternateSetpoint}, the target ``cut-in'' temperature is the related Setpoint -- Deadband as described above. However, when the \emph{Source Side Flow Control Mode} setting is \emph{StorageTank}, the deadband is not used in getting the ``cut-in'' temperature---in this case it is just directly using the corresponding Setpoint temperature without subtracting off the Deadband Temperature Difference.

\paragraph{Field: Maximum Temperature Limit}\label{field-maximum-temperature-limit}

The temperature {[}°C{]} at which the tank water becomes dangerously hot and is vented through boiling or an automatic safety. The tank temperature will never exceed the maximum. Any extra heat added to the tank is immediately vented. Note:~ The maximum temperature must be greater than the setpoint temperature at all times.

\paragraph{Field: Heater Control Type}\label{field-heater-control-type}

The control type can be \textbf{Cycle} or \textbf{Modulate}. Cycle is appropriate for most storage tank-type water heaters. Modulate is appropriate for most instantaneous/tankless water heaters.

\paragraph{Field: Heater Maximum Capacity}\label{field-heater-maximum-capacity}

The maximum heat rate {[}W{]} that can be supplied to the water, probably the same as the ``nominal'' capacity.~ This field is autosizable if used with a Water Heater:Sizing object.

\paragraph{Field: Heater Minimum Capacity}\label{field-heater-minimum-capacity}

The minimum heat rate {[}W{]} that can be supplied to the water. This field is only used when the Heater Control Type is \textbf{Modulate}. If the total demand rate for heating is less than the minimum, even a modulating water heater will begin to cycle.

\paragraph{Field: Heater Ignition Minimum Flow Rate}\label{field-heater-ignition-minimum-flow-rate}

NOT YET IMPLEMENTED.

\paragraph{Field: Heater Ignition Delay}\label{field-heater-ignition-delay}

NOT YET IMPLEMENTED.

\paragraph{Field: Heater Fuel Type}\label{field-heater-fuel-type}

The type of fuel used for heating. The fuel type can be Electricity, NaturalGas, Propane, FuelOilNo1, FuelOilNo2, Coal, Diesel, Gasoline, OtherFuel1, OtherFuel2, DistrictHeatingSteam or \hyperref[districtheating]{DistrictHeatingWater}.

\paragraph{Field: Heater Thermal Efficiency}\label{field-heater-thermal-efficiency}

The thermal conversion efficiency (as a fraction) from fuel energy to heat energy for the heater element or burner. This is not the same as the overall efficiency of the water heater. Note that a thermal efficiency greater than 1.0 is allowed for special applications, but will generate a warning.

\paragraph{Field: Part Load Factor Curve Name}\label{field-part-load-factor-curve-name}

The reference to the curve object that relates the overall efficiency of the water heater to the Runtime Fraction (if Control Type \textbf{Cycle}) or Part Load Ratio (if Control Type \textbf{Modulate}). This is an additional multiplier applied to the Heater Thermal Efficiency to compute fuel energy use. The Part Load Factor Curve should not have a value less than 0.1 in the domain from 0 to 1. If the Part Load Factor Curve accounts for ambient losses and/or parasitic fuel consumption, these effects should not also be input into the related fields in this object as that would result in double-counting.

\paragraph{Field: Off-Cycle Parasitic Fuel Consumption Rate}\label{field-off-cycle-parasitic-fuel-consumption-rate}

Off-cycle parasitics include parts of the water heater that consume fuel when the heater is off, for example, a pilot light, or stand-by electronic control circuits. The fuel consumption rate {[}W{]} is strictly the total fuel that is consumed by all of the off-cycle parasitics.

\paragraph{Field: Off-Cycle Parasitic Fuel Type}\label{field-off-cycle-parasitic-fuel-type}

The type of fuel used by the off-cycle parasitics. The fuel type can be Electricity, NaturalGas, Propane, FuelOilNo1, FuelOilNo2, Coal, Diesel, Gasoline, OtherFuel1, OtherFuel2, DistrictHeatingSteam or \hyperref[districtheating]{DistrictHeatingWater}. The fuel type can be the same or different from the Heater Fuel Type.

\paragraph{Field: Off-Cycle Parasitic Heat Fraction to Tank}\label{field-off-cycle-parasitic-heat-fraction-to-tank}

The fraction of off-cycle parasitic fuel energy that is converted to heat energy that ends up in the tank water. For example, a pilot light would deliver most of its heat to the tank water, as long as the thermal conversion efficiency must be taken into account, so perhaps 0.80 is reasonable. Electronic control circuits, on the other hand, do not add any heat to the tank and should be 0.

\paragraph{Field: On-Cycle Parasitic Fuel Consumption Rate}\label{field-on-cycle-parasitic-fuel-consumption-rate}

On-cycle parasitics include parts of the water heater that consume fuel when the heater is on, for example, an induction fan, or stand-by electronic control circuits. The fuel consumption rate {[}W{]} is strictly the total fuel that is consumed by all of the on-cycle parasitics.

\paragraph{Field: On-Cycle Parasitic Fuel Type}\label{field-on-cycle-parasitic-fuel-type}

The type of fuel used by the on-cycle parasitics. The fuel type can be Electricity, NaturalGas, Propane, FuelOilNo1, FuelOilNo2, Coal, Diesel, Gasoline, OtherFuel1, OtherFuel2, DistrictHeatingSteam or \hyperref[districtheating]{DistrictHeatingWater}. The fuel type can be the same or different from the Heater Fuel Type.

\paragraph{Field: On-Cycle Parasitic Heat Fraction to Tank}\label{field-on-cycle-parasitic-heat-fraction-to-tank}

The fraction of on-cycle parasitic fuel energy that is converted to heat energy that ends up in the tank water. For example, an induction fan might (maybe) deliver a small fraction of its energy to the tank water for a value of 0.05. Electronic control circuits, on the other hand, do not add any heat to the tank and should be 0.

\paragraph{Field: Ambient Temperature Indicator}\label{field-ambient-temperature-indicator-000}

The Ambient Temperature Indicator specifies how the ambient air temperature will be indicated. The field can be \textbf{Schedule}, \textbf{Zone}, or \textbf{Outdoors}. If \textbf{Schedule} is used, the Ambient Temperature Schedule field provides the ambient temperature. If \textbf{Zone} is used, the zone air temperature of the zone specified in the Ambient Temperature Zone field provides the ambient temperature. If \textbf{Outdoors} is used, the outdoor dry-bulb air temperature provides the ambient temperature.

\paragraph{Field: Ambient Temperature Schedule Name}\label{field-ambient-temperature-schedule-name-001}

The reference to the schedule object specifying the ambient air temperature around the tank for skin losses. This field is only used if Ambient Temperature Indicator is \textbf{Schedule}.

\paragraph{Field: Ambient Temperature Zone Name}\label{field-ambient-temperature-zone-name-001}

The reference to the zone object specifying the ambient air temperature around the tank for skin losses. This field is only used if Ambient Temperature Indicator is \textbf{Zone}.

\paragraph{Field: Ambient Temperature Outdoor Air Node Name}\label{field-ambient-temperature-outdoor-air-node-name-000}

This optional alpha field specifies the outdoor air node name used to define the ambient conditions surrounding the water heater tank. This field is applicable only when the Ambient Temperature Indicator is specified as \textbf{Outdoors}, otherwise this field should be left blank. The node name specified must also be specified in an \hyperref[outdoorairnode]{OutdoorAir:Node} object where the height of the node is taken into consideration when calculating outdoor air conditions from the weather data. Alternately, the node name may be specified in an \hyperref[outdoorairnodelist]{OutdoorAir:NodeList} object where the outdoor air conditions are taken directly from the weather data.

\paragraph{Field: Off-Cycle Loss Coefficient to Ambient Temperature}\label{field-off-cycle-loss-coefficient-to-ambient-temperature}

The loss coefficient {[}W/K{]} to the ambient air temperature. Often this coefficient is identical to the ``UA'' for skin losses. However, it can also be used to model the loss effects of the flue in a combustion water heater, in addition to the skin losses.

\paragraph{Field: Off-Cycle Loss Fraction to Zone}\label{field-off-cycle-loss-fraction-to-zone}

If the Ambient Temperature Indicator is \textbf{Zone}, this field adds the specified fraction of the off-cycle losses to the zone heat balance as an internal gain.

\paragraph{Field: On-Cycle Loss Coefficient to Ambient Temperature}\label{field-on-cycle-loss-coefficient-to-ambient-temperature}

The loss coefficient {[}W/K{]} to the ambient air temperature. Often this coefficient is identical to the ``UA'' for skin losses. If the loss effects of the flue are being modeled in the Off-Cycle Loss Coefficient, than this field would have a different value accounting only for the skin losses.

\paragraph{Field: On-Cycle Loss Fraction to Zone}\label{field-on-cycle-loss-fraction-to-zone}

If the Ambient Temperature Indicator is \textbf{Zone}, this field adds the specified fraction of the on-cycle losses to the zone heat balance as an internal gain.

\paragraph{Field: Peak Use Flow Rate}\label{field-peak-use-flow-rate}

The peak flow rate {[}m\(^{3}\)/s{]} of domestic hot water usage for stand-alone operation, i.e., without plant loop node connections. The peak value is multiplied by the Use Flow Rate Fraction Schedule. If there are node connections, this field is not used.

\paragraph{Field: Use Flow Rate Fraction Schedule Name}\label{field-use-flow-rate-fraction-schedule-name}

The reference to the schedule object specifying the current fraction of Peak Volumetric Use Flow Rate of domestic hot water usage for stand-alone operation.

\paragraph{Field: Cold Water Supply Temperature Schedule Name}\label{field-cold-water-supply-temperature-schedule-name}

The reference to the schedule object specifying the cold water temperature {[}°C{]} from the supply mains that makes up for the hot water lost down the drain. If blank, water temperatures are calculated by the \hyperref[sitewatermainstemperature]{Site:WaterMainsTemperature} object. This field is for stand-alone operation only. If there are node connections, this field is not used.

\paragraph{Field: Use Side Inlet Node Name}\label{field-use-side-inlet-node-name-000}

The inlet node connection to the plant loop for the use side of the water heater. Typically the use side draws hot water from the tank and returns cooler water.

\paragraph{Field: Use Side Outlet Node Name}\label{field-use-side-outlet-node-name-000}

The outlet node connection to the plant loop for the use side of the water heater. Typically the use side draws hot water from the tank and returns cooler water.

\paragraph{Field: Use Side Effectiveness}\label{field-use-side-effectiveness}

This field specifies the heat transfer effectiveness between the use side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the use side water and the tank water. If the effectiveness is lower, then the use side outlet water temperature will not be as hot as the tank water, simulating a heat exchanger.

\paragraph{Field: Source Side Inlet Node Name}\label{field-source-side-inlet-node-name-000}

The inlet node connection to the plant loop for the source side of the water heater. Typically the source side draws cold water from the tank and returns warmer water.
The source side volume flow rate is obtained from the plant loop.
The magnitude of the flow rates through the source side can be controlled by setting the Maximum Branch Flow Rate field in the \textbf{\hyperref[branch]{Branch}} object that connects the source inlet node.

\paragraph{Field: Source Side Outlet Node Name}\label{field-source-side-outlet-node-name-000}

The outlet node connection to the plant loop for the source side of the water heater. Typically the source side draws cold water from the tank and returns warmer water.

\paragraph{Field: Source Side Effectiveness}\label{field-source-side-effectiveness}

This field specifies the heat transfer effectiveness between the source side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the source side water and the tank water. If the effectiveness is lower, then the source side outlet water temperature will not be as hot as the tank water, simulating a heat exchanger.

\paragraph{Field: Use Side Design Flow Rate}\label{field-use-side-design-flow-rate-000}

This field is optional and is used to specify the design flow rate through the Use Side of the water heater.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field is needed when the Use Side is connected to a plant loop.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Source Side Design Flow Rate}\label{field-source-side-design-flow-rate-000}

This field is optional and is used to specify the design flow rate through the Source Side of the water heater.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field is needed when the Source Side is connected to a plant loop.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Indirect Water Heating Recovery Time}\label{field-indirect-water-heating-recovery-time}

This field is optional and is used to provide a design parameter for autosizing design flow rates when the water heater is connected to the demand side of a plant loop.~ The recovery time is expressed in hours.~ This is the time that the entire volume of the tank can be heated from 14.4ºC to 57.2ºC (58ºF to 135ºF) with an inlet temperature defined as the exit temperature in the associated Plant Sizing object.~ The default is 1.5 hours.~ The calculation is based on log-mean temperature difference (LMTD) and includes the heat transfer effectiveness factor entered above.

\paragraph{Field: Source Side Flow Control Mode}\label{field-source-side-flow-control-mode}

This field is optional and is used to provide control over the logic used by the source side of the water heater to request flow. There are three choices for different modes: IndirectHeatPrimarySetpoint, IndirectHeatAlternateSetpoint, or StorageTank.~~~ The mode called IndirectHeatPrimarySetpoint is the historical behavior prior to version 8.1.~ In this mode the water heater will request flow at the source side when the main setpoint, in the input field called Setpoint Temperature Schedule Name, and deadband call for the tank to be heated.~ This mode is typical for a water heater indirectly heated by a boiler.~ The mode called IndirectHeatAlternateSetpoint is similar but it bases its control decisions on an alternate setpoint given in the following field.~ This mode is useful when the indirect source of heat may not satisfy the load and an internal heater is used for backup.~ The mode called StorageTank is for a passive tank and it always requests flow unless the tank temperature is equal to or higher than the maximum limit given in the input field called Maximum Temperature Limit.

\paragraph{Field: Indirect Alternate Setpoint Temperature Schedule Name}\label{field-indirect-alternate-setpoint-temperature-schedule-name}

This field is optional and is used to provide a schedule with alternate setpoints for use with the IndirectHeatAlternateSetpoint mode in the previous field.~ The input field should contain a reference to a schedule object specifying the hot water temperature setpoint {[}°C{]} to use as the ``cut-out'' temperature for control logic at the source side.

\paragraph{Field: End-Use Subcategory}

This optional field allows you to specify a user-defined end-use subcategory, e.g., ``Process''. A new meter for reporting is created for each unique subcategory (ref: \hyperref[outputmeter-and-outputmetermeterfileonly]{Output:Meter} objects). Any text may be used here to further subcategorize the end-uses in the ABUPS End Uses by Subcategory table and in the LEED Summary EAp2-4/5 Performance Rating Method Compliance table. If this field is omitted or blank, the water heater will be assigned to the ``General'' end-use subcategory.


\begin{lstlisting}
WaterHeater:Mixed,            !- Stand-alone electric, outdoor example
  Outdoor Electric Tank,      !- Name
  0.151,                      !- Tank Volume {m3}
  Hot Water Setpoint Temp Schedule,  !- Setpoint Temperature Schedule
  2.0,                        !- Deadband Temperature Difference {deltaC}
  82.2222,                    !- Maximum Temperature Limit {C}
  Cycle,                      !- Heater Control Type {Cycle | Modulate}
  11712,                      !- Heater Maximum Capacity {W}
  ,                           !- Heater Minimum Capacity {W}
  ,                           !- Heater Ignition Minimum Flow Rate {m3/s}
  ,                           !- Heater Ignition Delay {s}
  ELECTRICITY,                !- Heater Fuel Type
  0.95,                       !- Heater Thermal Efficiency
  ,                           !- Part Load Factor Curve
  15,                         !- Off-Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- Off-Cycle Parasitic Fuel Type
  0,                          !- Off-Cycle Parasitic Heat Fraction To Tank
  15,                         !- On-Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- On-Cycle Parasitic Fuel Type
  0,                          !- On-Cycle Parasitic Heat Fraction To Tank
  Outdoors,                   !- Ambient Temperature Indicator {Schedule | Zone | Outdoors}
  ,                           !- Ambient Temperature Schedule
  ,                           !- Ambient Temperature Zone
  2.36,                       !- Off-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- Off-Cycle Loss Fraction To Zone
  2.36,                       !- On-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- On-Cycle Loss Fraction To Zone
  0.000379,                   !- Peak Volumetric Use Flow Rate {m3/s}
  Hot Water Demand Schedule,  !- Use Flow Rate Fraction Schedule
  Constant Mains Temp Schedule;  !- Cold Water Supply Temperature Schedule

WaterHeater:Mixed,            !- Stand-alone electric, tankless example
  Tankless,                   !- Name
  0.003785,                   !- Tank Volume {m3}
  Hot Water Setpoint Temp Schedule,  !- Setpoint Temperature Schedule
  ,                           !- Deadband Temperature Difference {deltaC}
  82.2222,                    !- Maximum Temperature Limit {C}
  Modulate,                   !- Heater Control Type {Cycle | Modulate}
  11712,                      !- Heater Maximum Capacity {W}
  0,                          !- Heater Minimum Capacity {W}
  ,                           !- Heater Ignition Minimum Flow Rate {m3/s}
  ,                           !- Heater Ignition Delay {s}
  ELECTRICITY,                !- Heater Fuel Type
  0.95,                       !- Heater Thermal Efficiency
  ,                           !- Part Load Factor Curve
  10,                         !- Off-Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- Off-Cycle Parasitic Fuel Type
  0,                          !- Off-Cycle Parasitic Heat Fraction To Tank
  30,                         !- On-Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- On-Cycle Parasitic Fuel Type
  0,                          !- On-Cycle Parasitic Heat Fraction To Tank
  Schedule,                   !- Ambient Temperature Indicator {Schedule | Zone | Outdoors}
  Hot Water Ambient Temp Schedule,  !- Ambient Temperature Schedule
  ,                           !- Ambient Temperature Zone
  ,                           !- Off-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- Off-Cycle Loss Fraction To Zone
  ,                           !- On-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- On-Cycle Loss Fraction To Zone
  0.000379,                   !- Peak Volumetric Use Flow Rate {m3/s}
  Hot Water Demand Schedule,  !- Use Flow Rate Fraction Schedule
  ;                           !- Cold Water Supply Temperature Schedule

WaterHeater:Mixed,            !- Plant loop connected, gas example
  Water Heater,               !- Name
  0.454,                      !- Tank Volume {m3}
  Hot Water Setpoint Temp Schedule,  !- Setpoint Temperature Schedule
  5.0,                        !- Deadband Temperature Difference {deltaC}
  82.2222,                    !- Maximum Temperature Limit {C}
  Cycle,                      !- Heater Control Type {Cycle | Modulate}
  2000,                       !- Heater Maximum Capacity {W}
  ,                           !- Heater Minimum Capacity {W}
  ,                           !- Heater Ignition Minimum Flow Rate {m3/s}
  ,                           !- Heater Ignition Delay {s}
  NATURALGAS,                 !- Heater Fuel Type
  0.80,                       !- Heater Thermal Efficiency
  ,                           !- Part Load Factor Curve
  ,                           !- Off-Cycle Parasitic Fuel Consumption Rate {W}
  ,                           !- Off-Cycle Parasitic Fuel Type
  ,                           !- Off-Cycle Parasitic Heat Fraction To Tank
  ,                           !- On-Cycle Parasitic Fuel Consumption Rate {W}
  ,                           !- On-Cycle Parasitic Fuel Type
  ,                           !- On-Cycle Parasitic Heat Fraction To Tank
  Schedule,                   !- Ambient Temperature Indicator {Schedule | Zone | Outdoors}
  Hot Water Ambient Temp Schedule,  !- Ambient Temperature Schedule
  ,                           !- Ambient Temperature Zone
  5.0,                        !- Off-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- Off-Cycle Loss Fraction To Zone
  5.0,                        !- On-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- On-Cycle Loss Fraction To Zone
  ,                           !- Peak Volumetric Use Flow Rate {m3/s}
  ,                           !- Use Flow Rate Fraction Schedule
  ,                           !- Cold Water Supply Temperature Schedule
  Water Heater Use Inlet Node,!- Use Side Inlet Node
  Water Heater Use Outlet Node,  !- Use Side Outlet Node
  1.0,                        !- Use Side Effectiveness
  Water Heater Source Inlet Node,  !- Source Side Inlet Node
  Water Heater Source Outlet Node,  !- Source Side Outlet Node
  1.0;                        !- Source Side Effectiveness

WaterHeater:Mixed,
  Indirect Water Heater,      !- Name
  1.00,                       !- Tank Volume {m3}
  Hot Water Setpoint Temperature Schedule,  !- Setpoint Temperature Schedule
  5.0,                        !- Deadband Temperature Difference {deltaC}
  82.2222,                    !- Maximum Temperature Limit {C}
  Cycle,                      !- Heater Control Type
  0.0,                        !- Heater Maximum Capacity {W}
  ,                           !- Heater Minimum Capacity {W}
  ,                           !- Heater Ignition Minimum Flow Rate {m3/s}
  ,                           !- Heater Ignition Delay {s}
  ELECTRICITY,                !- Heater Fuel Type
  0.8,                        !- Heater Thermal Efficiency
  ,                           !- Part Load Factor Curve
  ,                           !- Off-Cycle Parasitic Fuel Consumption Rate {W}
  ,                           !- Off-Cycle Parasitic Fuel Type
  ,                           !- Off-Cycle Parasitic Heat Fraction To Tank
  ,                           !- On-Cycle Parasitic Fuel Consumption Rate {W}
  ,                           !- On-Cycle Parasitic Fuel Type
  ,                           !- On-Cycle Parasitic Heat Fraction To Tank
  Zone,                       !- Ambient Temperature Indicator
  ,                           !- Ambient Temperature Schedule
  SPACE5-1,                   !- Ambient Temperature Zone
  ,                           !- Ambient Temperature Outside Air Node
  5.0,                        !- Off-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- Off-Cycle Loss Fraction To Zone
  5.0,                        !- On-Cycle Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- On-Cycle Loss Fraction To Zone
  ,                           !- Peak Volumetric Use Flow Rate {m3/s}
  ,                           !- Use Flow Rate Fraction Schedule
  ,                           !- Cold Water Supply Temperature Schedule
  SHWSys1 Pump-SHWSys1 Water HeaterNode,  !- Use Side Inlet Node
  SHWSys1 Supply Equipment Outlet Node,  !- Use Side Outlet Node
  1.0,                        !- Use Side Effectiveness
  Indirect Water Heater SrcSideInletNode,  !- Source Side Inlet Node
  Indirect Water Heater SrcSideOutletNode,  !- Source Side Outlet Node
  0.9,                        !- Source Side Effectiveness
  autosize,                   !- Use Side Design Flow Rate
  autosize,                   !- Source Side Design Flow Rate
  1.0;                        !- Indirect Water Heating Recovery Time
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-040}

The following output variables are reported for the WaterHeater:Mixed object:

\begin{itemize}
\item
  HVAC,Average,Water Heater Tank Temperature {[}C{]}
\item
  HVAC,Average,Water Heater Final Tank Temperature {[}C{]}
\item
  HVAC,Average,Water Heater Heat Loss Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Heat Loss Energy {[}J{]}
\item
  HVAC,Average, Water Heater Use Side Mass Flow Rate {[}kg/s{]}
\item
  HVAC,Average,Water Heater Use Side Inlet Temperature {[}C{]}
\item
  HVAC,Average,Water Heater Use Side Outlet Temperature {[}C{]}
\item
  HVAC,Average,Water Heater Use Side Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Use Side Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater Source Side Mass Flow Rate {[}kg/s{]}
\item
  HVAC,Average,Water Heater Source Side Inlet Temperature {[}C{]}
\item
  HVAC,Average,Water Heater Source Side Outlet Temperature {[}C{]}
\item
  HVAC,Average,Water Heater Source Side Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Source Side Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater Off Cycle Parasitic Tank Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Off Cycle Parasitic Tank Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater On Cycle Parasitic Tank Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater On Cycle Parasitic Tank Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater Total Demand Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Total Demand Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater Heating Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Heating Energy {[}J{]}
\item
  HVAC,Average,Water Heater Unmet Demand Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Unmet Demand Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater Venting Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Venting Heat Transfer Energy {[}J{]}
\item
  HVAC,Average,Water Heater Net Heat Transfer Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Net Heat Transfer Energy {[}J{]}
\item
  HVAC,Sum,Water Heater Cycle On Count {[]}
\item
  HVAC,Average,Water Heater Runtime Fraction {[]}
\item
  HVAC,Average,Water Heater Part Load Ratio {[]}
\item
  HVAC,Average,Water Heater Electricity Rate {[}W{]}
\item
  HVAC,Average,Water Heater \textless{}Fuel Type\textgreater{} Rate {[}W{]}
\item
  HVAC,Sum,Water Heater \textless{}Fuel Type\textgreater{} Energy {[}J{]}
\item
  HVAC,Average,Water Heater Off Cycle Parasitic \textless{}Fuel Type\textgreater{} Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Off Cycle Parasitic \textless{}Fuel Type\textgreater{} Energy {[}J{]}
\item
  HVAC,Average,Water Heater On Cycle Parasitic \textless{}Fuel Type\textgreater{} Rate {[}W{]}
\item
  HVAC,Sum,Water Heater On Cycle Parasitic \textless{}Fuel Type\textgreater{} Energy {[}J{]}
\item
  HVAC,Average,Water Heater Water Volume Flow Rate {[}m3/s{]}
\item
  HVAC,Sum,Water Heater Water Volume {[}m3{]}
\end{itemize}

\paragraph{Water Heater Tank Temperature {[}C{]}}\label{water-heater-tank-temperature-c}

The average water tank temperature.

\paragraph{Water Heater Final Tank Temperature {[}C{]}}\label{water-heater-final-tank-temperature-c}

The final water tank temperature at the end of the system timestep. If reported at the ``Detailed'' interval, this output variable can be used to verify an exact energy balance on the water heater. Also see the output variable:~ Water Heater Net Heat Transfer Energy.

\paragraph{Water Heater Heat Loss Rate {[}W{]}}\label{water-heater-heat-loss-rate-w}

The average heat loss rate due to the off- and on-cycle loss coefficients to the ambient temperature.

\paragraph{Water Heater Heat Loss Energy {[}J{]}}\label{water-heater-heat-loss-energy-j}

The heat loss energy due to the off- and on-cycle loss coefficients to the ambient temperature.

\paragraph{Water Heater Use Side Mass Flow Rate {[}kg/s{]}}\label{water-heater-use-side-mass-flow-rate-kgs}

The use side mass flow rate. If stand-alone, this is the scheduled use flow rate.

\paragraph{Water Heater Use Side Inlet Temperature {[}C{]}}\label{water-heater-use-side-inlet-temperature-c}

The inlet temperature on the use side.

\paragraph{Water Heater Use Side Outlet Temperature {[}C{]}}\label{water-heater-use-side-outlet-temperature-c}

The outlet temperature on the use side.

\paragraph{Water Heater Use Side Heat Transfer Rate {[}W{]}}\label{water-heater-use-side-heat-transfer-rate-w}

The average heat transfer rate between the use side water and the tank water.

\paragraph{Water Heater Use Side Heat Transfer Energy {[}J{]}}\label{water-heater-use-side-heat-transfer-energy-j}

The heat transfer energy between the use side water and the tank water.

\paragraph{Water Heater Source Side Mass Flow Rate {[}kg/s{]}}\label{water-heater-source-side-mass-flow-rate-kgs}

The source side mass flow rate. If in stand-alone operation, this is 0.

\paragraph{Water Heater Source Side Inlet Temperature {[}C{]}}\label{water-heater-source-side-inlet-temperature-c}

The inlet temperature on the source side.

\paragraph{Water Heater Source Side Outlet Temperature {[}C{]}}\label{water-heater-source-side-outlet-temperature-c}

The outlet temperature on the source side.

\paragraph{Water Heater Source Side Heat Transfer Rate {[}W{]}}\label{water-heater-source-side-heat-transfer-rate-w}

The average heat transfer rate between the source side water and the tank water.

\paragraph{Water Heater Source Side Heat Transfer Energy {[}J{]}}\label{water-heater-source-side-heat-transfer-energy-j}

The heat transfer energy between the source side water and the tank water.

\paragraph{Water Heater Off Cycle Parasitic Tank Heat Transfer Rate {[}W{]}}\label{water-heater-off-cycle-parasitic-tank-heat-transfer-rate-w}

The average heat gain rate to the tank water due to off-cycle parasitics.

\paragraph{Water Heater Off Cycle Parasitic Tank Heat Transfer Energy {[}J{]}}\label{water-heater-off-cycle-parasitic-tank-heat-transfer-energy-j}

The heat gain energy to the tank water due to off-cycle parasitics.

\paragraph{Water Heater On Cycle Parasitic Tank Heat Transfer Rate {[}W{]}}\label{water-heater-on-cycle-parasitic-tank-heat-transfer-rate-w}

The average heat gain rate to the tank water due to on-cycle parasitics.

\paragraph{Water Heater On Cycle Parasitic Tank Heat Transfer Energy {[}J{]}}\label{water-heater-on-cycle-parasitic-tank-heat-transfer-energy-j}

The heat gain energy to the tank water due to on-cycle parasitics.

\paragraph{Water Heater Total Demand Heat Transfer Rate {[}W{]}}\label{water-heater-total-demand-heat-transfer-rate-w}

The average heating rate demanded to maintain the setpoint temperature.

\paragraph{Water Heater Total Demand Heat Transfer Energy {[}J{]}}\label{water-heater-total-demand-heat-transfer-energy-j}

The heating energy demanded to maintain the setpoint temperature.

\paragraph{Water Heater Heating Rate {[}W{]}}\label{water-heater-heating-rate-w-000}

The average heating rate supplied by the heater element or burner.

\paragraph{Water Heater Heating Energy {[}J{]}}\label{water-heater-heating-energy-j-000}

The heating energy supplied by the heater element or burner.

\paragraph{Water Heater Unmet Demand Heat Transfer Rate {[}W{]}}\label{water-heater-unmet-demand-heat-transfer-rate-w}

The average heating rate unmet by the heater element or burner. The difference between the Total Demand Rate and the Heating Rate.

\paragraph{Water Heater Unmet Demand Heat Transfer Energy {[}J{]}}\label{water-heater-unmet-demand-heat-transfer-energy-j}

The heating energy unmet by the heater element or burner. The difference between the Total Demand Energy and the Heating Energy.

\paragraph{Water Heater Venting Heat Transfer Rate {[}W{]}}\label{water-heater-venting-heat-transfer-rate-w}

The average venting rate to keep the tank below the Maximum Temperature Limit.

\paragraph{Water Heater Venting Heat Transfer Energy {[}J{]}}\label{water-heater-venting-heat-transfer-energy-j}

The venting energy to keep the tank below the Maximum Temperature Limit.

\paragraph{Water Heater Net Heat Transfer Rate {[}W{]}}\label{water-heater-net-heat-transfer-rate-w}

The average net heat transfer rate when considering all losses and gains.

\paragraph{Water Heater Net Heat Transfer Energy {[}J{]}}\label{water-heater-net-heat-transfer-energy-j}

The net heat transfer energy when considering all losses and gains.

\paragraph{Water Heater Cycle On Count {[]}}\label{water-heater-cycle-on-count}

The number of times that the heater turned on in the time period.

\paragraph{Water Heater Runtime Fraction {[]}}\label{water-heater-runtime-fraction}

The fraction of the time period that the heater was running.

\paragraph{Water Heater Part Load Ratio {[]}}\label{water-heater-part-load-ratio}

The fraction of the Heater Maximum Capacity.

\paragraph{Water Heater \textless{}Fuel Type\textgreater{} Rate {[}W{]}}\label{water-heater-fuel-type-rate-w}

\paragraph{Water Heater Electricity Rate {[}W{]}}\label{water-heater-electric-power-w}

The average fuel consumption rate for the heater element or burner.

\paragraph{Water Heater \textless{}Fuel Type\textgreater{} Energy {[}J{]}}\label{water-heater-fuel-type-energy-j}

The fuel consumption energy for the heater element or burner.

\paragraph{Water Heater Off Cycle Parasitic \textless{}Fuel Type\textgreater{} Rate {[}W{]}}\label{water-heater-off-cycle-parasitic-fuel-type-rate-w}

\paragraph{Water Heater Off Cycle Parasitic Electricity Rate {[}W{]}}\label{water-heater-off-cycle-parasitic-electric-power-w-000}

The average fuel consumption rate for the off-cycle parasitics.

\paragraph{Water Heater Off Cycle Parasitic \textless{}Fuel Type\textgreater{} Energy {[}J{]}}\label{water-heater-off-cycle-parasitic-fuel-type-energy-j}

The fuel consumption energy for the off-cycle parasitics.

\paragraph{Water Heater On Cycle Parasitic \textless{}Fuel Type\textgreater{} Rate {[}W{]}}\label{water-heater-on-cycle-parasitic-fuel-type-rate-w}

\paragraph{Water Heater On Cycle Parasitic Electricity Rate {[}W{]}}\label{water-heater-on-cycle-parasitic-electric-power-w-000}

The average fuel consumption rate for the on-cycle parasitics.

\paragraph{Water Heater On Cycle Parasitic \textless{}Fuel Type\textgreater{} Energy {[}J{]}}\label{water-heater-on-cycle-parasitic-fuel-type-energy-j}

The fuel consumption energy for the on-cycle parasitics.

\paragraph{Water Heater Water Volume Flow Rate {[}m\(^{3}\)/s{]}}\label{water-heater-water-volume-flow-rate-m3s}

The water consumption rate for the use side, if in stand-alone operation.

\paragraph{Water Heater Water Volume {[}m\(^{3}\){]}}\label{water-heater-water-volume-m3}

The water consumption for the use side, if in stand-alone operation.

\paragraph{Water Heater Mains Water Volume {[}m3{]}}\label{water-heater-mains-water-volume-m3}

The volume of water consumption drawn from mains water service.

\subsection{WaterHeater:Stratified}\label{waterheaterstratified}

The WaterHeater:Stratified object divides the water tank into multiple nodes of equal volume. The nodes are coupled by vertical conduction effects, internode fluid flow, and temperature inversion mixing. The object simultaneously solves the differential equations governing the energy balances on the nodes using a numerical method. The system timestep is divided into many small substeps that allow the simulation to capture events that occur on a very short time scale. This approach allows ambient losses and parasitic loads to be divided into on-cycle and off-cycle effects and accounted for in detail.

For losses to the ambient environment, the ambient air temperature can be taken from a schedule, a zone, or the exterior. When used with a zone, a fraction of the skin losses can be added to the zone heat balance as internal heat gains.

The WaterHeater:Stratified object allows two heating elements to be simulated. The two elements can cycle on and off to maintain the node temperature within the deadband. The Heater Priority Control field determines how the heaters work together. There are two options:~ MasterSlave or Simultaneous. In the MasterSlave option, Heater 1 is the master and Heater 2 is the slave. That is, both heaters are not allowed to turn on at the same time. If the thermostats ask for heat at both Heater 1 and 2, only Heater 1 will turn on. Once Heater 1 has met the set point, it turns off and Heater 2 can turn on, if necessary. In the Simultaneous option, Heater 1 and Heater 2 can turn on and off independently.~ Autosizing is available for only Heater 1.

\subsubsection{Inputs}\label{inputs-1-049}

\paragraph{Field: Name}\label{field-name-1-047}

The name of the WaterHeater:Stratified object.

\paragraph{Field: End-Use Subcategory}\label{field-end-use-subcategory-004}

Allows you to specify a user-defined end-use subcategory, e.g., ``Laundry'', ``Dish Washing'', etc. A new meter for reporting is created for each unique subcategory~ (ref: \hyperref[outputmeter-and-outputmetermeterfileonly]{Output:Meter} objects). Subcategories are also reported in the ABUPS table under the ``Water Systems'' end-use category and also appear in the LEED Summary EAp2-4/5 Performance Rating Method Compliance table. If this field is omitted or blank, the water use will be assigned to the ``General'' end-use subcategory.

\paragraph{Field: Tank Volume}\label{field-tank-volume-1-000}

The actual volume {[}m3{]} of fluid in the tank. This field is autosizable if used with a Water Heater:Sizing object.~ The actual volume is typically not equal to the nominal volume specified by the manufacturer. Actual volume is almost always 10\% lower for electric water heaters, and 5\% lower for gas water heaters (Burch and Erickson 2004).

Burch, J., and P. Erickson. 2004. ``Using Ratings Data to Derive Simulation-Model Inputs for Storage-Tank Water Heaters''. \emph{Proceedings of the Solar 2004 Conference, 11-14 July 2004, Portland, Oregon}, American Solar Energy Society (ASES), pp.~393-398.

\paragraph{Field: Tank Height}\label{field-tank-height-000}

The height {[}m{]} of the tank. For the \textbf{HorizontalCylinder} shape (see below) the height of the tank is the measure in the axial direction, i.e., the height if you were to stand the cylinder up on its end. This field is autosizable if used with a Water Heater:Sizing object.

\paragraph{Field: Tank Shape}\label{field-tank-shape-000}

The tank shape determines the size and skin losses of the stratified nodes. There are three options:~ \textbf{VerticalCylinder}, \textbf{HorizontalCylinder}, and \textbf{Other}.

\textbf{VerticalCylinder} describes most upright residential water heaters.

HorizontalCylinder describes a few specialty water heaters and large commercial storage tanks. HorizontalCylinder can also be used to model an outdoor storage tank located above a solar collector in a thermosiphon configuration. HorizontalCylinder implies that the tank is divided into nodes of equal mass, but not equal height.

Other describes water heaters or storage tanks that have a uniform horizontal cross-section, but are not cylinders, e.g., a cuboid or other shape. The length of the perimeter is then specified by the Tank Perimeter field.

If blank, the default shape is \textbf{VerticalCylinder}.

\paragraph{Field: Tank Perimeter}\label{field-tank-perimeter-000}

The length of the tank perimeter {[}m{]}. This field is only used if Tank Shape is \textbf{Other}.

\paragraph{Field: Maximum Temperature Limit}\label{field-maximum-temperature-limit-1}

The temperature {[}°C{]} at which the tank water becomes dangerously hot and is vented through boiling or an automatic safety. The tank temperature will never exceed the maximum. Any extra heat added to the tank is immediately vented. Note:~ The maximum temperature must be greater than the setpoint temperature at all times.

\paragraph{Field: Heater Priority Control}\label{field-heater-priority-control}

The heater priority control determines how Heater 1 and Heater 2 work together. There are two options:~ \textbf{MasterSlave} or \textbf{Simultaneous}. In the MasterSlave option, Heater 1 is the master and Heater 2 is the slave. In most residential electric water heaters, the heaters operate in a MasterSlave relationship. That is, both heaters are not allowed to turn on at the same time. If the thermostats ask for heat at both Heater 1 and 2, only Heater 1 will turn on. Once Heater 1 has met the set point, it turns off and Heater 2 can turn on, if necessary. In other words, only one heater can be on at any time, and Heater 1 is always has priority over Heater 2.

In the Simultaneous option, Heater 1 and Heater 2 can turn on and off independently.

If blank, the default is \textbf{MasterSlave}.

\paragraph{Field: Heater 1 Set Point Temperature Schedule Name}\label{field-heater-1-set-point-temperature-schedule-name}

The reference to the schedule object specifying the hot water temperature set point {[}°C{]} for Heater 1. Also known as the ``cut-out'' temperature.

\paragraph{Field: Heater 1 Deadband Temperature Difference}\label{field-heater-1-deadband-temperature-difference}

The delta temperature difference {[}Δ°C{]} between the set point and the ``cut-in'' temperature at which Heater 1 will turn on. In other words, the ``cut-in'' temperature is Set Point -- Deadband.

\paragraph{Field: Heater 1 Capacity}\label{field-heater-1-capacity}

The heat rate {[}W{]} supplied to the water for Heater 1, probably the same as the ``nominal'' capacity. For residential electric water heaters, heating elements are usually 4500 W.~ This field is autosizable if used with a Water Heater:Sizing object.

\paragraph{Field: Heater 1 Height}\label{field-heater-1-height}

The height {[}m{]} of Heater 1 in the tank.

\paragraph{Field: Heater 2 Set Point Temperature Schedule Name}\label{field-heater-2-set-point-temperature-schedule-name}

The reference to the schedule object specifying the hot water temperature set point {[}°C{]} for Heater 2. Also known as the ``cut-out'' temperature.

\paragraph{Field: Heater 2 Deadband Temperature Difference}\label{field-heater-2-deadband-temperature-difference}

The delta temperature difference {[}$\Delta{^\circ}C${]} between the set point and the ``cut-in'' temperature at which Heater 2 will turn on. In other words, the ``cut-in'' temperature is Set Point -- Deadband.

One note here is that if a source side connection exists, how this \emph{Deadband Temperature Difference} is used is dependent on the ``\emph{Source Side Flow Control Mode}''{[}\ref{field-source-side-flow-control-mode-1}{]} choice. If \emph{Source Side Flow Control Mode} is \emph{IndirectHeatPrimarySetpoint} or
\emph{IndirectHeatAlternateSetpoint}, the target ``cut-in'' temperature is the related Setpoint -- Deadband as described above. However, when the \emph{Source Side Flow Control Mode} setting is \emph{StorageTank}, the deadband is not used in getting the ``cut-in'' temperature---in this case it is just directly using the corresponding Setpoint temperature without subtracting off the Deadband Temperature Difference.

\paragraph{Field: Heater 2 Capacity}\label{field-heater-2-capacity}

The heat rate {[}W{]} supplied to the water for Heater 1, probably the same as the ``nominal'' capacity. For residential electric water heaters, heating elements are usually 4500 W.

\paragraph{Field: Heater 2 Height}\label{field-heater-2-height}

The height {[}m{]} of Heater 2 in the tank.

\paragraph{Field: Heater Fuel Type}\label{field-heater-fuel-type-1}

The type of fuel used for both Heaters 1 and 2. The fuel type can be Electricity, NaturalGas, Propane, FuelOilNo1, FuelOilNo2, Coal, Diesel, Gasoline, OtherFuel1, OtherFuel2, DistrictHeatingSteam or \hyperref[districtheating]{DistrictHeatingWater}.

\paragraph{Field: Heater Thermal Efficiency}\label{field-heater-thermal-efficiency-1}

The thermal conversion efficiency (as a fraction) from fuel energy to heat energy for the heater element or burner (for both Heaters 1 and 2). This is not the same as the overall efficiency of the water heater. Note that a thermal efficiency greater than 1.0 is allowed for special applications, but will generate a warning.

\paragraph{Field: Off-Cycle Parasitic Fuel Consumption Rate}\label{field-off-cycle-parasitic-fuel-consumption-rate-1}

Off-cycle parasitics include parts of the water heater that consume fuel when the heater is off, for example, a pilot light, or stand-by electronic control circuits. The fuel consumption rate {[}W{]} is strictly the total fuel that is consumed by all of the off-cycle parasitics.

\paragraph{Field: Off-Cycle Parasitic Fuel Type}\label{field-off-cycle-parasitic-fuel-type-1}

The type of fuel used by the off-cycle parasitics. The fuel type can be Electricity, NaturalGas, Propane, FuelOilNo1, FuelOilNo2, Coal, Diesel, Gasoline, OtherFuel1, OtherFuel2, DistrictHeatingSteam, or \hyperref[districtheating]{DistrictHeatingWater}. The fuel type can be the same or different from the Heater Fuel Type.

\paragraph{Field: Off-Cycle Parasitic Heat Fraction to Tank}\label{field-off-cycle-parasitic-heat-fraction-to-tank-1}

The fraction of off-cycle parasitic fuel energy that is converted to heat energy that ends up in the tank water. For example, a pilot light would deliver most of its heat to the tank water, as long as the thermal conversion efficiency must be taken into account, so perhaps 0.80 is reasonable. Electronic control circuits, on the other hand, do not add any heat to the tank and should be 0.

\paragraph{Field: Off-Cycle Parasitic Height}\label{field-off-cycle-parasitic-height}

The height {[}m{]} where any off-cycle parasitic heat gains are added to the tank.

\paragraph{Field: On-Cycle Parasitic Fuel Consumption Rate}\label{field-on-cycle-parasitic-fuel-consumption-rate-1}

On-cycle parasitics include parts of the water heater that consume fuel when the heater is on, for example, an induction fan, or stand-by electronic control circuits. The fuel consumption rate {[}W{]} is strictly the total fuel that is consumed by all of the on-cycle parasitics.

\paragraph{Field: On-Cycle Parasitic Fuel Type}\label{field-on-cycle-parasitic-fuel-type-1}

The type of fuel used by the on-cycle parasitics. The fuel type can be Electricity, NaturalGas, Propane, FuelOilNo1, FuelOilNo2, Coal, Diesel, Gasoline, OtherFuel1, OtherFuel2, DistrictHeatingSteam or \hyperref[districtheating]{DistrictHeatingWater}. The fuel type can be the same or different from the Heater Fuel Type.

\paragraph{Field: On-Cycle Parasitic Heat Fraction to Tank}\label{field-on-cycle-parasitic-heat-fraction-to-tank-1}

The fraction of on-cycle parasitic fuel energy that is converted to heat energy that ends up in the tank water. For example, an induction fan might (maybe) deliver a small fraction of its energy to the tank water for a value of 0.05. Electronic control circuits, on the other hand, do not add any heat to the tank and should be 0.

\paragraph{Field: On-Cycle Parasitic Height}\label{field-on-cycle-parasitic-height}

The height {[}m{]} where any on-cycle parasitic heat gains are added to the tank.

\paragraph{Field: Ambient Temperature Indicator}\label{field-ambient-temperature-indicator-1-000}

The Ambient Temperature Indicator specifies how the ambient air temperature will be indicated. The field can be \textbf{Schedule}, \textbf{Zone}, or \textbf{Outdoors}. If \textbf{Schedule} is used, the Ambient Temperature Schedule value provides the ambient temperature. If \textbf{Zone} is used, the zone air temperature of the zone specified in the Ambient Temperature Zone field provides the ambient temperature. If \textbf{Outdoors} is used, the outdoor dry-bulb air temperature of the outdoor air node specified in the Ambient Temperature \hyperref[outdoorairnode]{OutdoorAir:Node} field provides the ambient temperature.

\paragraph{Field: Ambient Temperature Schedule Name}\label{field-ambient-temperature-schedule-name-1-000}

The reference to the schedule object specifying the ambient air temperature around the tank for skin losses. This field is only used if Ambient Temperature Indicator is \textbf{Schedule}.

\paragraph{Field: Ambient Temperature Zone}\label{field-ambient-temperature-zone}

The reference to the zone object specifying the ambient air temperature around the tank for skin losses. This field is only used if Ambient Temperature Indicator is \textbf{Zone}.

\paragraph{Field: Ambient Temperature Outdoor Air Node}\label{field-ambient-temperature-outdoor-air-node}

The reference to the outdoor air node specifying the ambient air temperature around the tank for skin losses. An outdoor air node can be defined by an \hyperref[outdoorairnode]{OutdoorAir:Node} object or \hyperref[outdoorairnodelist]{OutdoorAir:NodeList} object. This field is only used if Ambient Temperature Indicator is \textbf{Outdoors}.

\paragraph{Field: Uniform Skin Loss Coefficient Per Unit Area to Ambient Temperature}\label{field-uniform-skin-loss-coefficient-per-unit-area-to-ambient-temperature-000}

The uniform skin loss coefficient {[}W/m2-K{]} or U-Value of the tank to the ambient air temperature. The uniform skin loss accounts for the tank insulation and applies during both off- and on-cycle operation. The overall losses at any particular node can be further modified using the Additional Loss Coefficient fields to account for thermal shorting due to pipe penetrations, water heater feet, and any other loss effects.

\paragraph{Field: Skin Loss Fraction to Zone}\label{field-skin-loss-fraction-to-zone}

If the Ambient Temperature Indicator is \textbf{Zone}, this field adds the specified fraction of the skin losses to the zone heat balance as an internal gain.

\paragraph{Field: Off-Cycle Flue Loss Coefficient to Ambient Temperature}\label{field-off-cycle-flue-loss-coefficient-to-ambient-temperature}

The off-cycle flue loss coefficient {[}W/K{]} to the ambient air temperature. This field mainly applies to gas water heaters that have a flue.

\paragraph{Field: Off-Cycle Flue Loss Fraction to Zone}\label{field-off-cycle-flue-loss-fraction-to-zone}

If the Ambient Temperature Indicator is \textbf{Zone}, this field adds the specified fraction of the off-cycle flue losses to the zone heat balance as an internal gain.

\paragraph{Field: Peak Use Flow Rate}\label{field-peak-use-flow-rate-1}

The peak flow rate {[}m\(^{3}\)/s{]} of domestic hot water usage for stand-alone operation, i.e., without plant loop node connections. The peak value is multiplied by the Use Flow Rate Fraction Schedule. If there are node connections, this field is not used.

\paragraph{Field: Use Flow Rate Fraction Schedule Name}\label{field-use-flow-rate-fraction-schedule-name-1}

The reference to the schedule object specifying the current fraction of Peak Volumetric Use Flow Rate of domestic hot water usage for stand-alone operation. If blank, the fraction defaults to 1.0 at all times.

\paragraph{Field: Cold Water Supply Temperature Schedule Name}\label{field-cold-water-supply-temperature-schedule-name-1}

The reference to the schedule object specifying the cold water temperature {[}°C{]} from the supply mains that makes up for the hot water lost down the drain. If blank, water temperatures are calculated by the \hyperref[sitewatermainstemperature]{Site:WaterMainsTemperature} object. This field is for stand-alone operation only. If there are node connections, this field is not used.

\paragraph{Field: Use Side Inlet Node Name}\label{field-use-side-inlet-node-name-1-000}

The inlet node connection to the plant loop for the use side of the water heater. Typically the use side draws hot water from the tank and returns cooler water.

\paragraph{Field: Use Side Outlet Node Name}\label{field-use-side-outlet-node-name-1-000}

The outlet node connection to the plant loop for the use side of the water heater. Typically the use side draws hot water from the tank and returns cooler water.

\paragraph{Field: Use Side Effectiveness}\label{field-use-side-effectiveness-1}

This field specifies the heat transfer effectiveness between the use side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the use side water and the tank water. If the effectiveness is less than 1.0, then the use side outlet water temperature will not be as hot as the tank water at the outlet node, simulating an external heat exchanger that is indirectly coupled to the water heater tank.

\paragraph{Field: Use Side Inlet Height}\label{field-use-side-inlet-height-000}

The height of the use side inlet to the tank. If blank, the inlet defaults to the bottom of the tank. The inlet height cannot be higher than the tank height.

\paragraph{Field: Use Side Outlet Height}\label{field-use-side-outlet-height-000}

The height of the use side outlet from the tank. If blank or \textbf{autocalculate}, the inlet defaults to the top of the tank. The outlet height cannot be higher than the tank height.

\paragraph{Field: Source Side Inlet Node}\label{field-source-side-inlet-node}

The inlet node connection to the plant loop for the source side of the water heater. Typically the source side draws cold water from the tank and returns warmer water.

\paragraph{Field: Source Side Outlet Node}\label{field-source-side-outlet-node}

The outlet node connection to the plant loop for the source side of the water heater. Typically the source side draws cold water from the tank and returns warmer water.

\paragraph{Field: Source Side Effectiveness}\label{field-source-side-effectiveness-1}

This field specifies the heat transfer effectiveness between the source side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the source side water and the tank water. If the effectiveness is less than 1.0, then the source side outlet water temperature will be higher than the tank water at the outlet node, simulating an external heat exchanger that is indirectly coupled to the water heater tank.

\paragraph{Field: Source Side Inlet Height}\label{field-source-side-inlet-height-000}

The height of the source side inlet to the tank. If blank or \textbf{autocalculate}, the inlet defaults to the top of the tank. The inlet height cannot be higher than the tank height.

\paragraph{Field: Source Side Outlet Height}\label{field-source-side-outlet-height-000}

The height of the source side outlet from the tank. If blank, the inlet defaults to the bottom of the tank. The outlet height cannot be higher than the tank height.

\paragraph{Field: Inlet Mode}\label{field-inlet-mode-000}

The inlet mode of entering fluid from the use and source sides. There are two options:~ \textbf{Fixed} or \textbf{Seeking}. In Fixed mode, the fluid enters at the fixed heights specified above. In Seeking mode, the fluid ``seeks out'' the stratified node that is closest to the inlet temperature and adds all flow to that node. The Seeking mode provides maximum stratification. The default is \textbf{Fixed}.

\paragraph{Field: Use Side Design Flow Rate}\label{field-use-side-design-flow-rate-1-000}

This field is optional and is used to specify the design flow rate through the Use Side of the water heater.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field is needed when the Use Side is connected to a plant loop.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Source Side Design Flow Rate}\label{field-source-side-design-flow-rate-1-000}

This field is optional and is used to specify the design flow rate through the Source Side of the water heater.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field is needed when the Source Side is connected to a plant loop.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Indirect Water Heating Recovery Time}\label{field-indirect-water-heating-recovery-time-1}

This field is optional and is used to provide a design parameter for autosizing design flow rates when the water heater is connected to the demand side of a plant loop.~ The recovery time is expressed in hours.~ This is the time that the entire volume of the tank can be heated from 14.4ºC to 57.2ºC (58ºF to 135ºF) with an inlet temperature defined as the exit temperature in the associated Plant Sizing object.~ The default is 1.5 hours.~ The calculation is based on log-mean temperature difference (LMTD) and includes the heat transfer effectiveness factor entered above.

\paragraph{Field: Number Of Nodes}\label{field-number-of-nodes-000}

The number of stratified nodes in the tank. There must be at least one node. The maximum number of nodes is 12.

\paragraph{Field: Additional Destratification Conductivity}\label{field-additional-destratification-conductivity-000}

An additional destratification conductivity {[}W/m-K{]} is added to the fluid conductivity of water (0.6 W/m-K) to account for vertical conduction effects along the inside of the tank wall, and perhaps other vertical components such as the flue, the cold water inlet pipe (dip tube), and the anode rod.

\paragraph{Field: Node 1-12 Additional Loss Coefficient}\label{field-node-1-12-additional-loss-coefficient}

An additional loss coefficient {[}W/K{]} added to the skin losses for a given node to account for thermal shorting due to pipe penetrations, water heater feet, and any other loss effects.

\paragraph{Field: Source Side Flow Control Mode}\label{field-source-side-flow-control-mode-1}

This field is optional and is used to provide control over the logic used by the source side of the water heater to request flow. There are three choices for different modes: IndirectHeatPrimarySetpoint, IndirectHeatAlternateSetpoint, or StorageTank.~~~ The mode called IndirectHeatPrimarySetpoint is the historical behavior prior to version 8.1.~ In this mode the water heater will request flow at the source side when the main setpoint, in the input field called Setpoint Temperature Schedule Name, and deadband call for the tank to be heated.~ This mode is typical for a water heater indirectly heated by a boiler.~ The mode called IndirectHeatAlternateSetpoint is similar but it bases its control decisions on an alternate setpoint given in the following field.~ This mode is useful when the indirect source of heat may not satisfy the load and an internal heater is used for backup.~ The mode called StorageTank is for a passive tank and it always requests flow unless the tank temperature is equal to or higher than the maximum limit given in the input field called Maximum Temperature Limit.

\paragraph{Field: Indirect Alternate Setpoint Temperature Schedule Name}\label{field-indirect-alternate-setpoint-temperature-schedule-name-1}

This field is optional and is used to provide a schedule with alternate setpoints for use with the IndirectHeatAlternateSetpoint mode in the previous field.~ The input field should contain a reference to a schedule object specifying the hot water temperature setpoint {[}°C{]} to use as the ``cut-out'' temperature for control logic at the source side.

\begin{lstlisting}
WaterHeater:Stratified,
  Electric Water Heater,      !- Name
  Water Heater,               !- End-Use Subcategory
  0.1893,                     !- Tank Volume {m3}
  1.4,                        !- Tank Height {m}
  VerticalCylinder,           !- Tank Shape
  ,                           !- Tank Perimeter {m}
  82.2222,                    !- Maximum Temperature Limit {C}
  MasterSlave,                !- Heater Priority
  Hot Water Set Point Temp Schedule,  !- Heater 1 Set Point Temperature Schedule
  2.0,                        !- Heater 1 Deadband Temperature Difference {deltaC}
  4500,                       !- Heater 1 Capacity {W}    (Master)
  1.0,                        !- Heater 1 Height {m}
  Hot Water Set Point Temp Schedule,  !- Heater 2 Set Point Temperature Schedule
  5.0,                        !- Heater 2 Deadband Temperature Difference {deltaC}
  4500,                       !- Heater 2 Capacity {W}    (Slave)
  0.0,                        !- Heater 2 Height {m}
  ELECTRICITY,                !- Heater Fuel Type
  0.98,                       !- Heater Thermal Efficiency
  10,                         !- Off-Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- Off-Cycle Parasitic Fuel Type
  0,                          !- Off-Cycle Parasitic Heat Fraction To Tank
  ,                           !- Off-Cycle Parasitic Height {m}
  10,                         !- On-Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- On-Cycle Parasitic Fuel Type
  0,                          !- On-Cycle Parasitic Heat Fraction To Tank
  ,                           !- On-Cycle Parasitic Height {m}
  SCHEDULE,                   !- Ambient Temperature Indicator
  Ambient Temp Schedule,      !- Ambient Temperature Schedule
  ,                           !- Ambient Temperature Zone
  ,                           !- Ambient Temperature Outdoor Air Node
  0.846,                      !- Uniform Skin Loss Coefficient Per Unit Area To Ambient Temperature {W/m2-K}
  ,                           !- Skin Loss Fraction To Zone {}
  ,                           !- Off-Cycle Flue Loss Coefficient To Ambient Temperature {W/K}
  ,                           !- Off-Cycle Flue Loss Fraction To Zone {}
  ,                           !- Peak Volumetric Use Flow Rate {m3/s}
  ,                           !- Use Flow Rate Fraction Schedule
  ,                           !- Cold Water Supply Temperature Schedule
  Water Heater Use Inlet Node,!- Use Side Inlet Node
  Water Heater Use Outlet Node,  !- Use Side Outlet Node
  1.0,                        !- Use Side Effectiveness {}
  ,                           !- Use Side Inlet Height {m}
  ,                           !- Use Side Outlet Height {m}
  ,                           !- Source Side Inlet Node
  ,                           !- Source Side Outlet Node
  ,                           !- Source Side Effectiveness {}
  ,                           !- Source Side Inlet Height {m}
  ,                           !- Source Side Outlet Height {m}
  FIXED,                      !- Inlet Mode {FIXED | SEEKING}
  6,                          !- Number Of Nodes
  0.1,                        !- Destratification Conductivity {W/m-K}
  0.15,                       !- Node 1 Additional Loss Coefficient {W/K}
  ,                           !- Node 2 Additional Loss Coefficient {W/K}
  ,                           !- Node 3 Additional Loss Coefficient {W/K}
  ,                           !- Node 4 Additional Loss Coefficient {W/K}
  ,                           !- Node 5 Additional Loss Coefficient {W/K}
  0.1;                        !- Node 6 Additional Loss Coefficient {W/K}
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-1-030}

All of the output variables reported for the WaterHeater:Mixed object also apply to the WaterHeater:Stratified object, with several qualifications noted below:

\paragraph{Water Heater Tank Temperature {[}C{]}}\label{water-heater-tank-temperature-c-1}

The average water tank temperature, i.e., the average of all of the node average temperatures.

\paragraph{Water Heater Final Tank Temperature {[}C{]}}\label{water-heater-final-tank-temperature-c-1}

The final water tank temperature at the end of the system timestep, i.e., the average of all of the final node temperatures at the end of the system timestep. If reported at the ``Detailed'' interval, this output variable can be used to verify an exact energy balance on the water heater.

\paragraph{Water Heater Heating Rate {[}W{]}}\label{water-heater-heating-rate-w-1}

The total average heating rate supplied by Heater 1 plus Heater 2.

\paragraph{Water Heater Heating Energy {[}J{]}}\label{water-heater-heating-energy-j-1}

The total heating energy supplied by Heater 1 plus Heater 2.

\paragraph{Water Heater Cycle On Count {[]}}\label{water-heater-cycle-on-count-1}

The number of times that either Heater 1 or Heater 2 turned on in the time period.

\paragraph{Water Heater Runtime Fraction {[]}}\label{water-heater-runtime-fraction-1}

The fraction of the time period that either Heater 1 or Heater 2 was running.

In addition, the WaterHeater:Stratified object also reports the following output variables:

\begin{itemize}
\item
  HVAC,Average,Water Heater Heater 1 Heating Rate {[}W{]}
\item
  HVAC,Average,Water Heater Heater 2 Heating Rate {[}W{]}
\item
  HVAC,Sum,Water Heater Heater 1 Heating Energy {[}J{]}
\item
  HVAC,Sum,Water Heater Heater 2 Heating Energy {[}J{]}
\item
  HVAC,Sum,Water Heater Heater 1 Cycle On Count {[]}
\item
  HVAC,Sum,Water Heater Heater 2 Cycle On Count~ {[]}
\item
  HVAC,Average,Water Heater Heater 1 Runtime Fraction {[]}
\item
  HVAC,Average,Water Heater Heater 2 Runtime Fraction {[]}
\item
  HVAC,Average,Water Heater Temperature Node \textless{}x\textgreater{} {[}C{]}
\item
  HVAC,Average,Water Heater Final Temperature Node \textless{}x\textgreater{} {[}C{]}
\end{itemize}

\paragraph{Water Heater Heater 1 Heating Rate {[}W{]}}\label{water-heater-heater-1-heating-rate-w}

The average heating rate supplied by Heater 1.

\paragraph{Water Heater Heater 2 Heating Rate {[}W{]}}\label{water-heater-heater-2-heating-rate-w}

The average heating rate supplied by Heater 2.

\paragraph{Water Heater Heater 1 Heating Energy {[}J{]}}\label{water-heater-heater-1-heating-energy-j}

The heating energy supplied by Heater 1.

\paragraph{Water Heater Heater 2 Heating Energy {[}J{]}}\label{water-heater-heater-2-heating-energy-j}

The heating energy supplied by Heater 2.

\paragraph{Water Heater Heater 1 Cycle On Count {[]}}\label{water-heater-heater-1-cycle-on-count}

The number of times that Heater 1 turned on in the time period.

\paragraph{Water Heater Heater 2 Cycle On Count~ {[]}}\label{water-heater-heater-2-cycle-on-count}

The number of times that Heater 2 turned on in the time period.

\paragraph{Water Heater Heater 1 Runtime Fraction {[]}}\label{water-heater-heater-1-runtime-fraction}

The fraction of the time period that Heater 1 was running.

\paragraph{Water Heater Heater 2 Runtime Fraction {[]}}\label{water-heater-heater-2-runtime-fraction}

The fraction of the time period that Heater 2 was running.

\paragraph{Water Heater Temperature Node 1-12 {[}C{]}}\label{water-heater-temperature-node-1-12-c}

The average node temperature.

\paragraph{Water Heater Final Temperature Node 1-12 {[}C{]}}\label{water-heater-final-temperature-node-1-12-c}

The final node temperature at the end of the system timestep.

\subsection{WaterHeater:Sizing}\label{waterheatersizing}

The WaterHeater:Sizing object is used to provide additional input data needed for designing tank volume and/or heater capacity for either the Mixed or Stratified water heaters.~ This object is only needed if volume or capacity is being automatically sized.~ There are no output variable associated with this object --~ sizing results are reported to the EIO output file and some predefined summary reports.

A source of design input data for use with this object can be found in the current ASHRAE Handbook HVAC Applications chapter on Service Water Heating.

\subsubsection{Inputs}\label{inputs-2-045}

\paragraph{Field: WaterHeater Name}\label{field-waterheater-name}

This field contains the unique name of the water heater being sized.~ This name should match the name of a Water Heater:Mixed or a Water Heater:Stratified input object defined elsewhere in the input file.

\paragraph{Field: Design Mode}\label{field-design-mode}

This field describes which of several methods are to be used for sizing the water heater.~ There are six possible choices and one of the following should be selected:

\begin{itemize}
\item
  \textbf{PeakDraw}. This design method uses the design flow rates of all the different demands placed on the water heater.~ The tank size is based on how long it can meet the demand and how quickly it can recover.~ The user enters the time in hours that the water heater can meet the demands.~ Only the hot water uses connected to an individual water heater, or scheduled in the water heater object for stand-alone units, are included in that water heater's peak draw.
\item
  \textbf{ResidentialHUD-FHAMinimum} This design method is based on minimum permissible water heater sizes (established by HUD-FHA in its Minimum Property Standards for One- and Two-Family Living Units, No. 4900.1-1982).~ The user enters the number of bathrooms and bedrooms in this input object.~ The smallest allowable water heater sizes are used.
\item
  \textbf{PerPerson} This design method scales sizes based on the total number of people in all zones in the building.~ Each water heater in the model will be sized using the total (peak, design) number of people for the entire model.~ The number of people is determined from \hyperref[people]{People} objects defined elsewhere in the input file
\item
  \textbf{PerFloorArea} This design method scales sizes based on the total floor area in all the zones in the building.~ Each water heater in the model will be sized using all the floor area in the model.~ The floor areas are determined from the geometry input elsewhere in the input file.
\item
  \textbf{PerUnit} This design method scales sizes based on an arbitrary number of units.~ This can be used, for example, to size based on the number of rooms in a lodging building.~ The user provides the number of units in an input field in this object.
\item
  \textbf{PerSolarCollectorArea} This design method scales tank volume based on the collector area for a solar hot water collector.~ The collector area is summed for all the collectors in the model and each tank is sized for the total.~ The collector area is determined from input for Solar Collectors defined elsewhere in the input file.
\end{itemize}

\paragraph{Field: Time Storage Can Meet Peak Draw}\label{field-time-storage-can-meet-peak-draw}

This field provides the time, in hours, that the tank's volume can sustain a peak draw.~ It is used to size the tank's volume which is the simple product of peak draw volume flow rate and the draw time.~ There is no assurance that the water will be at the desired temperature for the entire draw.~ This field is only used if the Design Mode is ``\textbf{PeakDraw}.'' For a water heater connected to a full plant loop, it should be on the supply side and the plant loop needs a Plant Sizing object and the draw rate is the Use side design flow rate. For a stand-alone water heater, the draw rate is the maximum scheduled peak use flow rate.

\paragraph{Field: Time for Tank Recovery}\label{field-time-for-tank-recovery}

This field provides the the time, in hours, that tank's heater needs to recover the volume of the tank. The temperatures used to define recovery are a starting temperature of 14.4ºC (58ºF) and a final temperature of 57.2ºC (135ºF). This field is only used if the Design Mode is ``\textbf{PeakDraw}.''

\paragraph{Field: Nominal Tank Volume for Autosizing Plant Connections}\label{field-nominal-tank-volume-for-autosizing-plant-connections}

This field is used in case the water heater is indirectly heated by its source side connections and they are also autosized.~ Because of the complexity of such a water heater and the timing for when sizing calculation happen inside EnergyPlus, the Source side connection flow rates need to be reported before the tank's volume can be sized to meet Peak Draw.~ This input field is used to provide a nominal tank volume to use temporarily while the flow connections are sized.~ This field is only used if the Design Mode is ``\textbf{PeakDraw}'' and the water heater has autosized plant connections on the demand side.

\paragraph{Field: Number of Bedrooms}\label{field-number-of-bedrooms}

This field is used to enter the number of bedrooms in the model.~ This field is only used if the Design Mode is ``\textbf{ResidentialHUD-FHAMinimum}.''

\paragraph{Field: Number of Bathrooms}\label{field-number-of-bathrooms}

This field is used to enter the number of bathrooms in the model.~ This field is only used if the Design Mode is ``\textbf{ResidentialHUD-FHAMinimum}.''

\paragraph{Field: Storage Capacity per Person}\label{field-storage-capacity-per-person}

This field is used to enter the tank's storage volume on per-person basis.~ The units are m\(^{3}\)/person.~ This field is only used if the Design Mode is ``\textbf{PerPerson}.''

\paragraph{Field: Recovery Capacity per Person}\label{field-recovery-capacity-per-person}

This field is used to enter the recovery capacity per person in units of m\(^{3}\)/person/hr.~ This is the volume of water the heater can recover in one hour per person.~ Recovery is heating water from a starting temperature of 14.4ºC (58ºF) to a final temperature of 57.2ºC (135ºF).~ This field is only used if the Design Mode is ``\textbf{PerPerson}.''

\paragraph{Field: Storage Capacity per Floor Area}\label{field-storage-capacity-per-floor-area}

This field is used to enter the tank's storage volume on a per-floor-area basis.~ The units are m\(^{3}\) /m\(^{2}\) (water/floor area).~ This field is only used if the Design Mode is ``\textbf{PerFloorArea}.''

\paragraph{Field: Recovery Capacity per Floor Area}\label{field-recovery-capacity-per-floor-area}

This field is used to enter the recovery capacity per floor area in units of m\(^{3}\)/m\(^{2}\)/hr.~ This is the volume water the heater can recover in an hour per floor area.~ Recovery is heating water from a starting temperature of 14.4ºC (58ºF) to a final temperature of 57.2ºC (135ºF).~ This field is only used if the Design Mode is ``\textbf{PerFloorArea}.''

\paragraph{Field: Number of Units}\label{field-number-of-units-000}

This field is used to enter the number of Units for use in sizing on per-Unit basis with the next two fields.~ This field is only used if the Design Mode is ``\textbf{PerUnit}.''~ This can be used to account for any arbitrary item such as lodging rooms, desks, water fixtures, restrooms, etc.

\paragraph{Field: Storage Capacity per Unit}\label{field-storage-capacity-per-unit}

This field is used to enter the tanks' storage volume on per-Unit basis.~ The units are m\(^{3}\)/Unit.~ The number of Units is entered in the previous field.~ This field is only used if the Design Mode is ``\textbf{PerUnit}.''

\paragraph{Field: Recovery Capacity per Unit}\label{field-recovery-capacity-per-unit}

This field is used to enter the recover capacity per Unit in units of m\(^{3}\)/Unit/hr.~ This is the volume of water the heater can recover in an hour per Unit.~ Recovery is heating water from a starting temperature of 14.4ºC (58ºF) to a final temperature of 57.2ºC (135ºF).~ This field is only used if the Design Mode is ``\textbf{PerUnit}.''

\paragraph{Field: Storage Capacity per Collector Area}\label{field-storage-capacity-per-collector-area}

This field is used to enter the tank's storage volume on per-solar-collector-area basis.~ The units are m\(^{3}\)/m\(^{2}\).~ This field is only used if the Design Mode is ``\textbf{PerSolarCollectorArea}.''

\paragraph{Field: Height Aspect Ratio}\label{field-height-aspect-ratio}

This field is used to scale the height of a stratified tank to preserve relative geometry for different size tanks. The Height Aspect Ratio is defined at the length scale in the vertical direction (height) divided by the length scale in the horizontal direction (diameter).~ This field is only used if the water heater being sized is a Water Heater:Stratified, the tank height has been set to Autosize, and the tank shape is set to \textbf{VerticalCylinder}. This field can be used with any Design Mode.

\subsection{WaterHeater:HeatPump:PumpedCondenser}\label{waterheaterheatpumppumpedcondenser}

The heat pump water heater with pumped condenser (HPWH) is a compound object consisting of a water heater tank (e.g., \hyperref[waterheatermixed]{\lstinline!WaterHeater:Mixed!} or \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}), a direct expansion (DX) ``coil'' (i.e., an air-to-water DX compression system which includes a water heating coil, air coil, compressor, and water pump), and a fan to provide air flow across the air coil associated with the DX compression system. These objects work together to model a system which heats water using zone air, outdoor air, or a combination of zone and outdoor air as the primary heat source. Numerous configurations of tank location, inlet air source, and DX coil compressor location can be modeled, with one common configuration shown below.

\begin{figure}[hbtp] % fig 81
\centering
\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/image192.png}
\caption{Schematic diagram for a heat pump water heater located in a zone \protect \label{fig:schematic-diagram-for-a-heat-pump-water}}
\end{figure}

In this model, the heat pump water heater's DX coil is considered the primary heat source and the water tank's heater (element or burner) provides supplemental heat as necessary. The model also assumes that the heat pump's fan and water pump cycle on and off with the compressor.

To model a heat pump water heater, the input data file must include some combination of the following objects depending on the configuration to be modeled:

\begin{itemize}
\item
  \lstinline!WaterHeater:HeatPump:PumpedCondenser! (required)
\item
   \hyperref[waterheatermixed]{\lstinline!WaterHeater:Mixed!} or \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!} (required)
\item
  \hyperref[coilwaterheatingairtowaterheatpumppumped]{\lstinline!Coil:WaterHeating:AirToWaterHeatPump:Pumped!} or \hyperref[coil-waterheating-airtowaterheatpump-variablespeed]{\lstinline!Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed!} (required)
\item
  \hyperref[fansystemmodel]{\lstinline!Fan:SystemModel!} or \hyperref[fanonoff]{\lstinline!Fan:OnOff!} (required)
\item
  \hyperref[zonehvacequipmentlist]{\lstinline!ZoneHVAC:EquipmentList!} (when the HPWH draws some or all of its air from the zone, the heat pump water heater type and name must be in this list)
\item
  \hyperref[zonehvacequipmentconnections]{\lstinline!ZoneHVAC:EquipmentConnections!} (when the HPWH draws some or all of its air from the zone, the HPWH air inlet and outlet node names must be provided in this object)
\item
  \hyperref[outdoorairnodelist]{\lstinline!OutdoorAir:NodeList!} (for HPWHs that use outdoor air as all or part of the heat source, the HPWH outdoor air node name must be provided in this list)
\end{itemize}

The input fields for the compound object are described in detail below:

\subsubsection{Inputs}\label{inputs-3-040}

\paragraph{Field: Name}\label{field-name-2-042}

This alpha field contains a unique user-assigned name for an instance of a heat pump water heater. Any reference to this heat pump water heater by another object will use this name.

\paragraph{Field: Availability Schedule Name}\label{field-availability-schedule-name-019}

This alpha field contains the name of the schedule (ref: Schedule) that denotes whether the heat pump compressor is available to operate during a given time period. A schedule value equal to 0 denotes that the heat pump compressor is off for that time period. A value other than 0 denotes that the heat pump compressor is available to operate during that time period. During times when the heat pump compressor is scheduled off, the heater (element or burner) in the water tank object operates based on its tank set point temperature schedule and the heat pump's parasitic electric power is also off for that time period. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Compressor Setpoint Temperature Schedule Name}\label{field-compressor-setpoint-temperature-schedule-name}

This alpha field contains the name of the schedule (ref: Schedule) that specifies the set point (or ``cut-out'') temperature for the heat pump compressor. Temperature values used in this schedule should be in degrees Celsius. The heat pump compressor cycles off when the tank water reaches this set point temperature. Once the heat pump compressor cycles off, the tank water temperature floats downward until it falls below the set point temperature minus the dead band temperature difference defined below (i.e., the ``cut-in'' temperature). At this point, the heat pump compressor cycles on and remains on until the heat pump compressor set point temperature is reached.

\paragraph{Field: Dead Band Temperature Difference}\label{field-dead-band-temperature-difference-000}

This numeric field contains the dead band temperature difference in degrees Celsius. The heat pump compressor ``cut-in'' temperature is defined as the compressor set point temperature defined above minus this dead band temperature difference. The heat pump compressor cycles on when the water temperature in the tank falls below the ``cut-in'' temperature. The heat pump compressor remains on until the water temperature in the tank rises above the compressor set point (``cut-out'') temperature defined above. The dead band temperature difference must be greater than 0°C and less than or equal to 20°C. If this field is left blank, the default value is 5°C.

In this model, the heat pump water heater's DX compression system is considered the primary heat source and the water tank's heater (element or burner) provides supplemental heat as necessary. Therefore, the cut-in temperature for the heat pump compressor (set point minus dead band temperature difference) is usually higher than the set point temperature for the heater (element or burner) in the associated water heater tank object. At times when the water heater tank set point temperature is greater than the cut-in temperature of the heat pump compressor, the heat pump compressor is disabled and the tank's heater is used to heat the water.

\paragraph{Field: Condenser Water Inlet Node Name}\label{field-condenser-water-inlet-node-name-000}

This alpha field contains the name of the inlet water node for the heat pump's water heating coil (condenser). This node name must also be specified in the water heater tank object as the source outlet node name, and in the DX coil object as the condenser water inlet node name.

\paragraph{Field: Condenser Water Outlet Node Name}\label{field-condenser-water-outlet-node-name-000}

This alpha field contains the name of the outlet water node for the heat pump's water heating coil (condenser). This node name must also be specified in the water heater tank object as the source inlet node name, and in the DX coil object as the condenser water outlet node name.

\paragraph{Field: Condenser Water Flow Rate}\label{field-condenser-water-flow-rate}

This numeric field contains the heat pump's condenser water flow rate in cubic meters per second. It is the actual condenser water flow rate to be simulated, which may differ from the rated condenser water volumetric flow rate specified for the heat pump's DX coil (Ref. Coil:WaterHeating:AirToWaterHeatPump). This water flow rate must be greater than 0 or this field is autocalculatable. If autocalculated (field value = \textbf{autocalculate}), the condenser water flow rate is set equal to the rated heating capacity of the heat pump's DX coil multiplied by 4.487E-8 m\(^{3}\)/s/W. When this flow rate is different from the Rated Condenser Water Volumetric Flow Rate specified in the heat pump's DX coil object (Ref. Coil:WaterHeating:AirToWaterHeatPump), the user should also specify a Total Heating Capacity Modifier Curve Name (function of water flow fraction) and a Heating COP Modifier Curve Name (function of water flow fraction) in the associated DX coil object to account for differences in capacity and power consumption at the off-rated water flow rate.

\paragraph{Field: Evaporator Air Flow Rate}\label{field-evaporator-air-flow-rate}

This numeric field contains the air flow rate across the heat pump's air coil (evaporator) in cubic meters per second. It is the actual air flow rate to be simulated, which may differ from the rated evaporator air volumetric flow rate specified for the heat pump's DX coil (Ref. \hyperref[coilwaterheatingairtowaterheatpumppumped]{Coil:WaterHeating:AirToWaterHeatPump:Pumped}). Values must be greater than 0 or this field is autocalculatable. If autocalculated (field value = \textbf{autocalculate}), the evaporator air flow rate is set equal to the rated heating capacity of the heat pump's DX coil multiplied by 5.035E-5 m\(^{3}\)/s/W. When this flow rate is different from the Rated Evaporator Air Volumetric Flow Rate specified in the heat pump's DX coil object (Ref. \hyperref[coilwaterheatingairtowaterheatpumppumped]{Coil:WaterHeating:AirToWaterHeatPump:Pumped}), the user should also specify a Total Heating Capacity Modifier Curve Name (function of air flow fraction) and a Heating COP Modifier Curve Name (function of air flow fraction) in the associated DX coil object to account for differences in capacity and power consumption at the off-rated air flow rate.

\paragraph{Field: Inlet Air Configuration}\label{field-inlet-air-configuration}

This choice field defines the configuration of the air flow path through the heat pump air coil (evaporator) and fan section. Valid entries are \textbf{Schedule}, \textbf{ZoneAirOnly}, \textbf{OutdoorAirOnly}, or \textbf{ZoneAndOutdoorAir}. If `Schedule' is selected, names for an inlet air temperature schedule and an inlet air humidity schedule must be defined in the fields below. If `ZoneAirOnly' is selected, the corresponding zone name must be entered in the Inlet Air Zone Name field below. If `ZoneAndOutdoorAir' is selected, the corresponding Inlet Air Zone Name, Inlet Air Mixer Node Name, Outlet Air Splitter Node Name, and an Inlet Air Mixer Schedule Name must be entered in the corresponding fields below.

\paragraph{Field: Air Inlet Node Name}\label{field-air-inlet-node-name-008}

This alpha field contains the name of the node from which the heat pump water heater draws its inlet air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `ZoneAndOutdoorAir', then this node name should be the name of a zone air exhaust node (Ref. \hyperref[zonehvacequipmentconnections]{ZoneHVAC:EquipmentConnections}). If the Inlet Air Configuration field is set to `OutdoorAirOnly', this node name should be left blank. If the Inlet Air Configuration field is set to `Schedule', this node name should simply be a unique name that allows the user to receive output on conditions at this node for verification purposes.

\paragraph{Field: Air Outlet Node Name}\label{field-air-outlet-node-name-007}

This alpha field contains the name of the node to which the heat pump water heater sends its outlet air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `ZoneAndOutdoorAir', then this node name should be the name of a zone air inlet node (Ref. \hyperref[zonehvacequipmentconnections]{ZoneHVAC:EquipmentConnections}). If the Inlet Air Configuration field is set to `OutdoorAirOnly', this node name should be left blank. If the Inlet Air Configuration field is set to `Schedule', this node name should simply be a unique name that allows the user to receive output on conditions at this node for verification purposes.

\paragraph{Field: Outdoor Air Node Name}\label{field-outdoor-air-node-name-000}

This alpha field contains the name of the node from which the heat pump water heater draws its outdoor air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `Schedule', this node name should be left blank. If the Inlet Air Configuration field is set to `ZoneAndOutdoorAir' or `OutdoorAirOnly', this node name should be the name of an outdoor air node (Ref. \hyperref[outdoorairnodelist]{OutdoorAir:NodeList}).

\paragraph{Field: Exhaust Air Node Name}\label{field-exhaust-air-node-name}

This alpha field contains the name of the node to which the heat pump water heater sends its exhaust air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `Schedule', this node name should be left blank. If the Inlet Air Configuration field is set to `ZoneAndOutdoorAir' or `OutdoorAirOnly', then this node name should be a unique name that allows the user to receive output on conditions at this node for verification purposes.

\paragraph{Field: Inlet Air Temperature Schedule Name}\label{field-inlet-air-temperature-schedule-name}

This alpha field contains the name of a schedule used to define the dry-bulb temperature of the inlet air to the heat pump air coil (evaporator) and fan section. Schedule values should be in degrees Celsius. This field is only used when the Inlet Air Configuration defined above is specified as `Schedule', otherwise leave this field blank.

\paragraph{Field: Inlet Air Humidity Schedule Name}\label{field-inlet-air-humidity-schedule-name}

This alpha field contains the name of a schedule used to define the humidity of the inlet air to the heat pump evaporator and fan section. Schedule values must be entered as relative humidity fraction from 0 to 1 (e.g., a schedule value of 0.5 means 50\%RH). This field is only used when the Inlet Air Configuration defined above is specified as `Schedule', otherwise leave this field blank.

\paragraph{Field: Inlet Air Zone Name}\label{field-inlet-air-zone-name}

This alpha field contains the name of the zone from which the heat pump evaporator and fan section draws some or all of its inlet air. This field is only used when the Inlet Air Configuration defined above is specified as `ZoneAirOnly' or `ZoneAndOutdoorAir'.

\paragraph{Field: Tank Object Type}\label{field-tank-object-type-000}

This alpha (choice) field contains the type of water heater tank used by this heat pump water heater. Currently, the only valid choices are \hyperref[waterheatermixed]{WaterHeater:Mixed} or \hyperref[waterheaterstratified]{WaterHeater:Stratified}.

\paragraph{Field: Tank Name}\label{field-tank-name-000}

This alpha field contains the name of the specific water heater tank used by this heat pump water heater. This must be a tank of type \hyperref[waterheatermixed]{\lstinline!WaterHeater:Mixed!} or \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}.

\paragraph{Field: Tank Use Side Inlet Node Name}\label{field-tank-use-side-inlet-node-name}

This alpha field contains the name of the use side inlet node of the water heater tank used by this heat pump water heater. This name must match the Use Side Inlet Node Name in the water heater tank object (Ref. \hyperref[waterheatermixed]{\lstinline!WaterHeater:Mixed!}). This field is required if the water heater tank use side nodes are connected to a plant loop, otherwise leave this field blank. When used, the branch object should reflect that this node is part of a \lstinline!WaterHeater:HeatPump:PumpedCondenser! object (see branch object example below).

\paragraph{Field: Tank Use Side Outlet Node Name}\label{field-tank-use-side-outlet-node-name}

This alpha field contains the name of the use side outlet node of the water heater tank used by this heat pump water heater. This name must match the Use Side Outlet Node Name in the water heater tank object (Ref. \hyperref[waterheatermixed]{\lstinline!WaterHeater:Mixed!}). This field is required if the water heater tank use side nodes are connected to a plant loop, otherwise leave this field blank. When used, the branch object should reflect that this node is part of a \lstinline!WaterHeater:HeatPump:PumpedCondenser! object (see branch object example below).

\paragraph{Field: DX Coil Object Type}\label{field-dx-coil-object-type}

This alpha (choice) field contains the type of DX coil used by this heat pump water heater. Currently, the only valid choice is \hyperref[coilwaterheatingairtowaterheatpumppumped]{Coil:WaterHeating:AirToWaterHeatPump:Pumped}.

\paragraph{Field: DX Coil Name}\label{field-dx-coil-name}

This alpha field contains the name of the specific DX coil (\hyperref[coilwaterheatingairtowaterheatpumppumped]{\lstinline!Coil:WaterHeating:AirToWaterHeatPump:Pumped!} or \hyperref[coil-waterheating-airtowaterheatpump-variablespeed]{\lstinline!Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed!} object) used by this heat pump water heater.

\paragraph{Field: Minimum Inlet Air Temperature for Compressor Operation}\label{field-minimum-inlet-air-temperature-for-compressor-operation}

This numeric field contains the minimum inlet air dry-bulb temperature entering the air coil (evaporator) and fan section, in degrees Celsius, below which the heat pump compressor does not operate. If this field is left blank, the default value is 10°C.

\paragraph{Field: Compressor Location}\label{field-compressor-location}

This alpha (choice) field contains the location of the heat pump compressor and the air temperature for this location is used to control operation of the compressor's crankcase heater in the \hyperref[coilwaterheatingairtowaterheatpumppumped]{Coil:WaterHeating:AirToWaterHeatPump:Pumped} object. Valid entries are \textbf{Schedule}, \textbf{Zone}, or \textbf{Outdoors}. If `Schedule' is selected, a compressor ambient temperature schedule name must be defined in the field below; otherwise, the field below should be left blank. If `Zone' is selected, the crankcase heater operation is controlled based on the air temperature in the zone defined in the field Inlet Air Zone Name, and the Inlet Air Configuration must be `ZoneAirOnly' or `ZoneAndOutdoorAir'. If `Outdoors' is selected, crankcase heater operation is controlled based on the outdoor air temperature.

\paragraph{Field: Compressor Ambient Temperature Schedule Name}\label{field-compressor-ambient-temperature-schedule-name}

This alpha field contains the name of a schedule that defines the ambient air temperature surrounding the heat pump compressor, which is used to control the compressor's crankcase heater operation. This field is only used when the compressor location field defined above is specified as `Schedule', otherwise it should be left blank.

\paragraph{Field: Fan Object Type}\label{field-fan-object-type-001}

This alpha (choice) field contains the type of fan used by this heat pump water heater. Currently, the only valid choices are \hyperref[fansystemmodel]{Fan:SystemModel} and \hyperref[fanonoff]{Fan:OnOff}.

\paragraph{Field: Fan Name}\label{field-fan-name-004}

This alpha field contains the name of the specific fan (\hyperref[fansystemmodel]{\lstinline!Fan:SystemModel!} or \hyperref[fanonoff]{\lstinline!Fan:OnOff!} object) used by this heat pump water heater.

\paragraph{Field: Fan Placement}\label{field-fan-placement-000}

This alpha (choice) field defines the placement of the fan in the heat pump water heater. Valid choices are \textbf{BlowThrough} (fan upstream of the air coil) and \textbf{DrawThrough} (fan downstream of the air coil). If this field is left blank, the default value is DrawThrough.

\paragraph{Field: On Cycle Parasitic Electric Load}\label{field-on-cycle-parasitic-electric-load-000}

This numeric field contains the on-cycle parasitic electric power in Watts. This is the parasitic electric power consumed by controls or other electrical devices associated with the heat pump water heater. This parasitic electric load is consumed whenever the heat pump compressor is operating and the model assumes that this parasitic power does not contribute to heating the water. This parasitic load does, however, affect the zone air heat balance when the heat pump water heater sends some or all of its outlet air to a zone (i.e., Inlet Air Configuration field specified as `ZoneAirOnly' or `ZoneAndOutdoorAir') and the Parasitic Heat Rejection Location field is specified as `Zone'. The minimum value for this field is 0.0, and the default value is also 0.0 if this field is left blank.

\paragraph{Field: Off Cycle Parasitic Electric Load}\label{field-off-cycle-parasitic-electric-load-000}

This numeric field contains the off-cycle parasitic electric power in Watts. This is the parasitic electric power consumed by controls or other electrical devices associated with the heat pump compressor. This parasitic electric load is consumed whenever the heat pump water heater is available but the compressor is not operating, and the model assumes that this parasitic power does not contribute to heating the water. This parasitic load does, however, affect the zone air heat balance when the heat pump water heater sends some or all of its outlet air to a zone (i.e., Inlet Air Configuration field specified as `ZoneAirOnly' or `ZoneAndOutdoorAir') and the Parasitic Heat Rejection Location field is specified as `Zone'. The minimum value for this field is 0.0, and the default value is also 0.0 if this field is left blank.

\paragraph{Field: Parasitic Heat Rejection Location}\label{field-parasitic-heat-rejection-location}

This alpha (choice) field determines where the on-cycle and off-cycle parasitic heat is rejected. Valid choices are Zone and Exterior. If `Zone' is selected, both the on-cycle and off-cycle parasitic heat is rejected to the zone defined in the field Inlet Air Zone Name, and the Inlet Air Configuration must be `ZoneAirOnly' or `ZoneAndOutdoorAir. If 'Outdoors' is selected, this parasitic heat is rejected outdoors (does not impact the zone air heat balance) regardless of the specified Inlet Air Configuration. If this field is left blank, the default value is 'Outdoors'.

\paragraph{Field: Inlet Air Mixer Node Name}\label{field-inlet-air-mixer-node-name}

This optional alpha field defines the name of the HVAC node which represents the mixture of outdoor air and zone air that enters the heat pump air coil (evaporator) and fan section. The model mixes outdoor air with zone air and places the result on this inlet air mixer node based on the Inlet Air Mixer Schedule defined below. When the schedule value is equal to 0, 100\% zone air enters the evaporator coil and fan section of the heat pump water heater. When the schedule value is equal to 1, 100\% outdoor air enters the evaporator coil and fan section. This node name must be provided if the Inlet Air Configuration field above is specified as `ZoneAndOutdoor Air', otherwise this field should be left blank.

\paragraph{Field: Outlet Air Splitter Node Name}\label{field-outlet-air-splitter-node-name}

This alpha field defines the name of the air node to which the heat pump air coil (evaporator) and fan sends all of its outlet air. The supply air flow downstream of this node is split between the zone and outdoors based on the Inlet Air Mixer schedule defined below. When the schedule value is equal to 0, the entire outlet air stream is diverted to the zone. When the schedule value is equal to 1, the entire outlet air stream is exhausted to outdoors. This node name must be provided if the Inlet Air Configuration field above is specified as `Zone and Outdoor Air', otherwise this field should be left blank.

\paragraph{Field: Inlet Air Mixer Schedule Name}\label{field-inlet-air-mixer-schedule-name}

This alpha field defines the name of the schedule (ref: Schedule) that denotes whether the heat pump draws its inlet air from the zone, outdoors, or a combination of zone and outdoor air. A schedule value equal to 0 indicates that the heat pump draws its inlet air from the zone. A schedule value equal to 1 denotes that the heat pump draws its inlet air from outdoors. Values between 0 and 1 denote a mixture of zone and outdoor air proportional to the schedule value. The Inlet Air Mixer schedule controls both the inlet air mixer and outlet air splitter nodes in unison to ensure that the operation of the heat pump does not contribute to zone pressurization or depressurization. For example if the Inlet Air Mixer schedule value is 0.4, then the inlet air mixer node is composed of 40\% outdoor air and 60\% zone air. For this same case, the outlet air splitter directs 60\% of the HPWH outlet air back to the zone and 40\% of the outlet air flow is exhausted outdoors. This schedule name must be provided if the Inlet Air Configuration field is specified as `Zone and Outdoor Air', otherwise this field should be left blank.

\paragraph{Field: Tank Element Control Logic}\label{field-tank-element-control-logic}

This alpha field defines settings for the control logic of when to run the tank element in relation to whether the heat pump is running.

\begin{itemize}
\tightlist
\item
  \textbf{MutuallyExclusive} means that once the tank heating element(s) are active, the heat pump is shut down until the heating element setpoint is reached.
\item
  \textbf{Simultaneous} (default) means that both the tank heating element and heat pump are used at the same time to recover the tank temperature.
\end{itemize}

\paragraph{Field: Control Sensor 1 Height In Stratified Tank}\label{field-control-sensor-1-height-in-stratified-tank}

This alpha field defines where the tank temperature is sensed for heat pump control when the tank type is \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}.~ The stratified tank model produces tank temperature at different nodes in the vertical direction and various options are available for how this temperature should be sensed to control the heat pump.~ This is measured in height from the bottom of the tank. Internally the appropriate node is determined based on this height. If omitted, this defaults to the height of Heater1.

\paragraph{Field: Control Sensor 1 Weight}\label{field-control-sensor-1-weight}

The model can optionally use two control sensor locations in stratified tanks. When that is the case, the temperature sensed at each location is weighted. This alpha input specifies the weight associated with Control Sensor 1. It is input as a value between 0 and 1. The weight of Control Sensor 2 is determined by subtracting this weight from 1. The default for this field is 1, indicating that only Control Sensor 1 is used.

\paragraph{Field: Control Sensor 2 Height in Stratified Tank}\label{field-control-sensor-2-height-in-stratified-tank}

This alpha field defines the optional second location where the tank temperature is sensed for heat pump control when the tank type is \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}. If omitted, this defaults to the height of Heater2.

Following is an example input for the \lstinline!WaterHeater:HeatPump:PumpedCondenser! compound object and the other required component objects that it references.

\begin{lstlisting}
WaterHeater:HeatPump:PumpedCondenser,
  PlantHeatPumpWaterHeater,   !- Name
  PlantHPWHSch,               !- Availability Schedule Name
  PlantHPWHTempSch,           !- Compressor Setpoint Temperature Schedule Name
  2.0,                        !- Dead Band Temperature Difference {deltaC}
  HPPlantWaterInletNode,      !- Condenser Water Inlet Node Name
  HPPlantWaterOutletNode,     !- Condenser Water Outlet Node Name
  0.00115525,                 !- Condenser Water Flow Rate {m3/s}
  1.00695,                    !- Evaporator Air Flow Rate {m3/s}
  OutdoorAirOnly,             !- Inlet Air Configuration
  ,                           !- Air Inlet Node Name
  ,                           !- Air Outlet Node Name
  HPPlantAirInletNode,        !- Outdoor Air Node Name
  HPPlantAirOutletNode,       !- Exhaust Air Node Name
  ,                           !- Inlet Air Temperature Schedule Name
  ,                           !- Inlet Air Humidity Schedule Name
  ,                           !- Inlet Air Zone Name
  WaterHeater:Mixed,          !- Tank Object Type
  HPWHPlantTank,              !- Tank Name
  HPWH Use Inlet Node,        !- Tank Use Side Inlet Node Name
  HPWH Use Outlet Node,       !- Tank Use Side Outlet Node Name
  Coil:WaterHeating:AirToWaterHeatPump:Pumped,  !- DX Coil Object Type
  HPWHPlantDXCoil,            !- DX Coil Name
  11.0,                       !- Minimum Inlet Air Temperature for Compressor Operation {C}
  Outdoors,                   !- Compressor Location
  ,                           !- Compressor Ambient Temperature Schedule Name
  Fan:SystemModel,            !- Fan Object Type
  HPWHPlantFan,               !- Fan Name
  BlowThrough,                !- Fan Placement
  ,                           !- On Cycle Parasitic Electric Load {W}
  ,                           !- Off Cycle Parasitic Electric Load {W}
  ;                           !- Parasitic Heat Rejection Location
\end{lstlisting}

NOTE: branch object required only when tank use inlet nodes are used.

\begin{lstlisting}
Branch,
  Central HPWH Branch,        !- Name
  ,                           !- Pressure Drop Curve Name
  WaterHeater:HeatPump:PumpedCondenser,  !- Component 1 Object Type
  PlantHeatPumpWaterHeater,   !- Component 1 Name
  HPWH Use Inlet Node,        !- Component 1 Inlet Node Name
  HPWH Use Outlet Node;       !- Component 1 Outlet Node Name

WaterHeater:Mixed,
  HPWHPlantTank,              !- Name
  0.757,                      !- Tank Volume {m3}
  Plant Hot Water Setpoint Temp Schedule,  !- Setpoint Temperature Schedule Name
  2.0,                        !- Deadband Temperature Difference {deltaC}
  82.2222,                    !- Maximum Temperature Limit {C}
  CYCLE,                      !- Heater Control Type
  25000,                      !- Heater Maximum Capacity {W}
  0,                          !- Heater Minimum Capacity {W}
  ,                           !- Heater Ignition Minimum Flow Rate {m3/s}
  ,                           !- Heater Ignition Delay {s}
  ELECTRICITY,                !- Heater Fuel Type
  0.98,                       !- Heater Thermal Efficiency
  ,                           !- Part Load Factor Curve Name
  10,                         !- Off Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- Off Cycle Parasitic Fuel Type
  0,                          !- Off Cycle Parasitic Heat Fraction to Tank
  30,                         !- On Cycle Parasitic Fuel Consumption Rate {W}
  ELECTRICITY,                !- On Cycle Parasitic Fuel Type
  0,                          !- On Cycle Parasitic Heat Fraction to Tank
  Outdoors,                   !- Ambient Temperature Indicator
  ,                           !- Ambient Temperature Schedule Name
  ,                           !- Ambient Temperature Zone Name
  HPWHPlantTank OA Node,      !- Ambient Temperature Outdoor Air Node Name
  0.0,                        !- Off Cycle Loss Coefficient to Ambient Temperature {W/K}
  0.0,                        !- Off Cycle Loss Fraction to Zone
  0.0,                        !- On Cycle Loss Coefficient to Ambient Temperature {W/K}
  0.0,                        !- On Cycle Loss Fraction to Zone
  ,                           !- Peak Use Flow Rate {m3/s}
  ,                           !- Use Flow Rate Fraction Schedule Name
  ,                           !- Cold Water Supply Temperature Schedule Name
  HPWH Use Inlet Node,        !- Use Side Inlet Node Name
  HPWH Use Outlet Node,       !- Use Side Outlet Node Name
  0.98,                       !- Use Side Effectiveness
  HPPlantWaterOutletNode,     !- Source Side Inlet Node Name
  HPPlantWaterInletNode,      !- Source Side Outlet Node Name
  0.98,                       !- Source Side Effectiveness
  autosize;                   !- Use Side Design Flow Rate {m3/s}

OutdoorAir:Node,
  HPWHPlantTank OA Node;      !- Name

Coil:WaterHeating:AirToWaterHeatPump:Pumped,
  HPWHPlantDXCoil,            !- Name
  25000.0,                    !- Rated Heating Capacity {W}
  3.2,                        !- Rated COP {W/W}
  0.736,                      !- Rated Sensible Heat Ratio
  29.44,                      !- Rated Evaporator Inlet Air Dry-Bulb Temperature {C}
  22.22,                      !- Rated Evaporator Inlet Air Wet-Bulb Temperature {C}
  55.72,                      !- Rated Condenser Inlet Water Temperature {C}
  1.00695,                    !- Rated Evaporator Air Flow Rate {m3/s}
  0.00115525,                 !- Rated Condenser Water Flow Rate {m3/s}
  No,                         !- Evaporator Fan Power Included in Rated COP
  No,                         !- Condenser Pump Power Included in Rated COP
  No,                         !- Condenser Pump Heat Included in Rated Heating Capacity and Rated COP
  150.0,                      !- Condenser Water Pump Power {W}
  0.1,                        !- Fraction of Condenser Pump Heat to Water
  HPPlantFanAirOutletNode,    !- Evaporator Air Inlet Node Name
  HPPlantAirOutletNode,       !- Evaporator Air Outlet Node Name
  HPPlantWaterInletNode,      !- Condenser Water Inlet Node Name
  HPPlantWaterOutletNode,     !- Condenser Water Outlet Node Name
  100.0,                      !- Crankcase Heater Capacity {W}
  5.0,                        !- Maximum Ambient Temperature for Crankcase Heater Operation {C}
  WetBulbTemperature,         !- Evaporator Air Temperature Type for Curve Objects
  HPWHHeatingCapFTemp,        !- Heating Capacity Function of Temperature Curve Name
  ,                           !- Heating Capacity Function of Air Flow Fraction Curve Name
  ,                           !- Heating Capacity Function of Water Flow Fraction Curve Name
  HPWHHeatingCOPFTemp,        !- Heating COP Function of Temperature Curve Name
  ,                           !- Heating COP Function of Air Flow Fraction Curve Name
  ,                           !- Heating COP Function of Water Flow Fraction Curve Name
  HPWHPLFFPLR;                !- Part Load Fraction Correlation Curve Name

Fan:SystemModel,
  HPWHPlantFan,               !- Name
  PlantHPWHSch,               !- Availability Schedule Name
  HPPlantAirInletNode,        !- Air Inlet Node Name
  HPPlantFanAirOutletNode,    !- Air Outlet Node Name
  2.2685,                     !- Design Maximum Air Flow Rate
  Discrete,                   !- Speed Control Method
  0.0,                        !- Electric Power Minimum Flow Rate Fraction
  100.0,                      !- Design Pressure Rise
  0.9,                        !- Motor Efficiency
  1.0,                        !- Motor In Air Stream Fraction
  AUTOSIZE,                   !- Design Electric Power Consumption
  TotalEfficiencyAndPressure, !- Design Power Sizing Method
  ,                           !- Electric Power Per Unit Flow Rate
  ,                           !- Electric Power Per Unit Flow Rate Per Unit Pressure
  0.70;                       !- Fan Total Efficiency
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-2-025}

\begin{itemize}
\item
  \textbf{HVAC,Average,Water Heater Compressor Part Load Ratio}
\item
  \textbf{HVAC,Average,Water Heater On Cycle Ancillary Electricity Rate {[}W{]}}
\item
  \textbf{HVAC,Sum,Water Heater On Cycle Ancillary Electricity Energy {[}J{]}}
\item
  \textbf{HVAC,Average,Water Heater Off Cycle Ancillary Electricity Rate {[}W{]}}
\item
  \textbf{HVAC,Sum,Water Heater Off Cycle Ancillary Electricity Energy {[}J{]}}
\end{itemize}

\paragraph{Water Heater Compressor Part Load Ratio}\label{water-heater-compressor-part-load-ratio}

This output is the average part-load ratio of the heat pump water heater's compressor (as well as its water pump and fan) for the timestep being reported. This output is independent of the ``Water Heater Part Load Ratio'' (Ref. Water Heater Outputs) which represents the part-load ratio of the supplemental heater (element or burner) in the water tank. When the water tank's (supplemental) heater set point temperature is higher than the cut-in temperature of the heat pump water heater's compressor, the heat pump compressor is disabled and the water tank's heater (element or burner) is used to heat the water. During these times the Water Heater Compressor Part Load Ratio is equal to 0.

\paragraph{Water Heater On Cycle Ancillary Electricity Rate {[}W{]}}\label{water-heater-on-cycle-ancillary-electric-power-w}

\paragraph{Water Heater On Cycle Ancillary Electricity Energy {[}J{]}}\label{water-heater-on-cycle-ancillary-electric-energy-j}

\paragraph{Water Heater Off Cycle Ancillary Electricity Rate {[}W{]}}\label{water-heater-off-cycle-ancillary-electric-power-w}

\paragraph{Water Heater Off Cycle Ancillary Electricity Energy {[}J{]}}\label{water-heater-off-cycle-ancillary-electric-energy-j}

These outputs are the parasitic electric power and consumption associated with the heat pump water heater. Specific outputs represent parasitic electrical usage during the compressor/fan on and off cycles. These outputs represent electronic controls or other electric component. The model assumes that the parasitic power does not contribute to heating the water, but it can impact the zone air heat balance depending on user inputs. The parasitic electric consumption outputs are also added to a meter with Resource Type = Electricity, End Use Key = DHW, Group Key = Plant (ref. Output:Meter objects).

\subsection{WaterHeater:HeatPump:WrappedCondenser}\label{waterheaterheatpumpwrappedcondenser}

The heat pump water heater with wrapped condenser is a compound object very similar to the \hyperref[waterheaterheatpumppumpedcondenser]{\lstinline!WaterHeater:HeatPump:PumpedCondenser!} object. It likewise combines a water heater tank, a direct expansion (DX) ``coil'', and a fan to provide air flow across the air coil associated with the DX compression system. The primary difference is that instead of pumping water through an external condenser, the heating coils are wrapped around or submerged in the tank. This type of HPWH is most common in packaged units meant for residential applications.

To model a wrapped condenser heat pump water, the input data file must include some combination of the following objects depending on the configuration to be modeled:

\begin{itemize}
\item
  \lstinline!WaterHeater:HeatPump:WrappedCondenser! (required)
\item
  \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!} (required)
\item
  \hyperref[coilwaterheatingairtowaterheatpumpwrapped]{\lstinline!Coil:WaterHeating:AirToWaterHeatPump:Wrapped!} (required)
\item
  \hyperref[fansystemmodel]{Fan:SystemModel!} or \hyperref[fanonoff]{\lstinline!Fan:OnOff!} (required)
\item
  \hyperref[zonehvacequipmentlist]{\lstinline!ZoneHVAC:EquipmentList!} (when the HPWH draws some or all of its air from the zone, the heat pump water heater type and name must be in this list)
\item
  \hyperref[zonehvacequipmentconnections]{\lstinline!ZoneHVAC:EquipmentConnections!} (when the HPWH draws some or all of its air from the zone, the HPWH air inlet and outlet node names must be provided in this object)
\item
  \hyperref[outdoorairnodelist]{\lstinline!OutdoorAir:NodeList!} (for HPWHs that use outdoor air as all or part of the heat source, the HPWH outdoor air node name must be provided in this list)
\end{itemize}

The input fields for the compound object are described in detail below:

\subsubsection{Inputs}\label{inputs-4-037}

\paragraph{Field: Name}\label{field-name-3-036}

This alpha field contains a unique user-assigned name for an instance of a heat pump water heater. Any reference to this heat pump water heater by another object will use this name.

\paragraph{Field: Availability Schedule Name}\label{field-availability-schedule-name-1-014}

This alpha field contains the name of the schedule (ref: Schedule) that denotes whether the heat pump compressor is available to operate during a given time period. A schedule value equal to 0 denotes that the heat pump compressor is off for that time period. A value other than 0 denotes that the heat pump compressor is available to operate during that time period. During times when the heat pump compressor is scheduled off, the heater (element or burner) in the water tank object operates based on its tank set point temperature schedule and the heat pump's parasitic electric power is also off for that time period. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Compressor Setpoint Temperature Schedule Name}\label{field-compressor-setpoint-temperature-schedule-name-1}

This alpha field contains the name of the schedule (ref: Schedule) that specifies the set point (or ``cut-out'') temperature for the heat pump compressor. Temperature values used in this schedule should be in degrees Celsius. The heat pump compressor cycles off when the tank water reaches this set point temperature. Once the heat pump compressor cycles off, the tank water temperature floats downward until it falls below the set point temperature minus the dead band temperature difference defined below (i.e., the ``cut-in'' temperature). At this point, the heat pump compressor cycles on and remains on until the heat pump compressor set point temperature is reached.

\paragraph{Field: Dead Band Temperature Difference}\label{field-dead-band-temperature-difference-1}

This numeric field contains the dead band temperature difference in degrees Celsius. The heat pump compressor ``cut-in'' temperature is defined as the compressor set point temperature defined above minus this dead band temperature difference. The heat pump compressor cycles on when the water temperature in the tank falls below the ``cut-in'' temperature. The heat pump compressor remains on until the water temperature in the tank rises above the compressor set point (``cut-out'') temperature defined above. The dead band temperature difference must be greater than 0°C and less than or equal to 20°C. If this field is left blank, the default value is 5°C.

In this model, the heat pump water heater's DX compression system is considered the primary heat source and the water tank's heater (element or burner) provides supplemental heat as necessary. Therefore, the cut-in temperature for the heat pump compressor (set point minus dead band temperature difference) is usually higher than the set point temperature for the heater (element or burner) in the associated water heater tank object. At times when the water heater tank set point temperature is greater than the cut-in temperature of the heat pump compressor, the heat pump compressor is disabled and the tank's heater is used to heat the water.

\paragraph{Field: Condenser Bottom Location}\label{field-condenser-bottom-location}

This numeric field contains the distance from the bottom of the tank to the bottom of the wrapped condenser.

\paragraph{Field: Condenser Top Location}\label{field-condenser-top-location}

This numeric field contains the distance from the bottom of the tank to the top of the wrapped condenser.

\paragraph{Field: Evaporator Air Flow Rate}\label{field-evaporator-air-flow-rate-1}

This numeric field contains the air flow rate across the heat pump's air coil (evaporator) in cubic meters per second. It is the actual air flow rate to be simulated, which may differ from the rated evaporator air volumetric flow rate specified for the heat pump's DX coil (Ref. \hyperref[coilwaterheatingairtowaterheatpumpwrapped]{Coil:WaterHeating:AirToWaterHeatPump:Wrapped}). Values must be greater than 0 or this field is autocalculatable. If autocalculated (field value = \textbf{autocalculate}), the evaporator air flow rate is set equal to the rated heating capacity of the heat pump's DX coil multiplied by 5.035E-5 m\(^{3}\)/s/W. When this flow rate is different from the Rated Evaporator Air Volumetric Flow Rate specified in the heat pump's DX coil object (Ref. \hyperref[coilwaterheatingairtowaterheatpumpwrapped]{Coil:WaterHeating:AirToWaterHeatPump:Wrapped}), the user should also specify a Total Heating Capacity Modifier Curve Name (function of air flow fraction) and a Heating COP Modifier Curve Name (function of air flow fraction) in the associated DX coil object to account for differences in capacity and power consumption at the off-rated air flow rate.

\paragraph{Field: Inlet Air Configuration}\label{field-inlet-air-configuration-1}

This choice field defines the configuration of the air flow path through the heat pump air coil (evaporator) and fan section. Valid entries are \textbf{Schedule}, \textbf{ZoneAirOnly}, \textbf{OutdoorAirOnly}, or \textbf{ZoneAndOutdoorAir}. If `Schedule' is selected, names for an inlet air temperature schedule and an inlet air humidity schedule must be defined in the fields below. If `ZoneAirOnly' is selected, the corresponding zone name must be entered in the Inlet Air Zone Name field below. If `ZoneAndOutdoorAir' is selected, the corresponding Inlet Air Zone Name, Inlet Air Mixer Node Name, Outlet Air Splitter Node Name, and an Inlet Air Mixer Schedule Name must be entered in the corresponding fields below.

\paragraph{Field: Air Inlet Node Name}\label{field-air-inlet-node-name-1-006}

This alpha field contains the name of the node from which the heat pump water heater draws its inlet air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `ZoneAndOutdoorAir', then this node name should be the name of a zone air exhaust node (Ref. \hyperref[zonehvacequipmentconnections]{ZoneHVAC:EquipmentConnections}). If the Inlet Air Configuration field is set to `OutdoorAirOnly', this node name should be left blank. If the Inlet Air Configuration field is set to `Schedule', this node name should simply be a unique name that allows the user to receive output on conditions at this node for verification purposes.

\paragraph{Field: Air Outlet Node Name}\label{field-air-outlet-node-name-1-005}

This alpha field contains the name of the node to which the heat pump water heater sends its outlet air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `ZoneAndOutdoorAir', then this node name should be the name of a zone air inlet node (Ref. \hyperref[zonehvacequipmentconnections]{ZoneHVAC:EquipmentConnections}). If the Inlet Air Configuration field is set to `OutdoorAirOnly', this node name should be left blank. If the Inlet Air Configuration field is set to `Schedule', this node name should simply be a unique name that allows the user to receive output on conditions at this node for verification purposes.

\paragraph{Field: Outdoor Air Node Name}\label{field-outdoor-air-node-name-1}

This alpha field contains the name of the node from which the heat pump water heater draws its outdoor air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `Schedule', this node name should be left blank. If the Inlet Air Configuration field is set to `ZoneAndOutdoorAir' or `OutdoorAirOnly', this node name should be the name of an outdoor air node (Ref. \hyperref[outdoorairnodelist]{OutdoorAir:NodeList}).

\paragraph{Field: Exhaust Air Node Name}\label{field-exhaust-air-node-name-1}

This alpha field contains the name of the node to which the heat pump water heater sends its exhaust air. If the Inlet Air Configuration field defined above is set to `ZoneAirOnly' or `Schedule', this node name should be left blank. If the Inlet Air Configuration field is set to `ZoneAndOutdoorAir' or `OutdoorAirOnly', then this node name should be a unique name that allows the user to receive output on conditions at this node for verification purposes.

\paragraph{Field: Inlet Air Temperature Schedule Name}\label{field-inlet-air-temperature-schedule-name-1}

This alpha field contains the name of a schedule used to define the dry-bulb temperature of the inlet air to the heat pump air coil (evaporator) and fan section. Schedule values should be in degrees Celsius. This field is only used when the Inlet Air Configuration defined above is specified as `Schedule', otherwise leave this field blank.

\paragraph{Field: Inlet Air Humidity Schedule Name}\label{field-inlet-air-humidity-schedule-name-1}

This alpha field contains the name of a schedule used to define the humidity of the inlet air to the heat pump evaporator and fan section. Schedule values must be entered as relative humidity fraction from 0 to 1 (e.g., a schedule value of 0.5 means 50\%RH). This field is only used when the Inlet Air Configuration defined above is specified as `Schedule', otherwise leave this field blank.

\paragraph{Field: Inlet Air Zone Name}\label{field-inlet-air-zone-name-1}

This alpha field contains the name of the zone from which the heat pump evaporator and fan section draws some or all of its inlet air. This field is only used when the Inlet Air Configuration defined above is specified as `ZoneAirOnly' or `ZoneAndOutdoorAir'.

\paragraph{Field: Tank Object Type}\label{field-tank-object-type-1}

This alpha (choice) field contains the type of water heater tank used by this heat pump water heater. Currently, the only valid choice is \hyperref[waterheaterstratified]{WaterHeater:Stratified}.

\paragraph{Field: Tank Name}\label{field-tank-name-1}

This alpha field contains the name of the specific water heater tank used by this heat pump water heater. This must be a tank of type \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}.

\paragraph{Field: Tank Use Side Inlet Node Name}\label{field-tank-use-side-inlet-node-name-1}

This alpha field contains the name of the use side inlet node of the water heater tank used by this heat pump water heater. This name must match the Use Side Inlet Node Name in the water heater tank object (Ref. \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}). This field is required if the water heater tank use side nodes are connected to a plant loop, otherwise leave this field blank. When used, the branch object should reflect that this node is part of a \lstinline!WaterHeater:HeatPump:WrappedCondenser! object (see branch object example below).

\paragraph{Field: Tank Use Side Outlet Node Name}\label{field-tank-use-side-outlet-node-name-1}

This alpha field contains the name of the use side outlet node of the water heater tank used by this heat pump water heater. This name must match the Use Side Outlet Node Name in the water heater tank object (Ref. \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}). This field is required if the water heater tank use side nodes are connected to a plant loop, otherwise leave this field blank. When used, the branch object should reflect that this node is part of a \lstinline!WaterHeater:HeatPump:WrappedCondenser! object (see branch object example below).

\paragraph{Field: DX Coil Object Type}\label{field-dx-coil-object-type-1}

This alpha (choice) field contains the type of DX coil used by this heat pump water heater. Currently, the only valid choice is \hyperref[coilwaterheatingairtowaterheatpumpwrapped]{Coil:WaterHeating:AirToWaterHeatPump:Wrapped}.

\paragraph{Field: DX Coil Name}\label{field-dx-coil-name-1}

This alpha field contains the name of the specific DX coil (\hyperref[coilwaterheatingairtowaterheatpumpwrapped]{\lstinline!Coil:WaterHeating:AirToWaterHeatPump:Wrapped!}) used by this heat pump water heater.

\paragraph{Field: Minimum Inlet Air Temperature for Compressor Operation}\label{field-minimum-inlet-air-temperature-for-compressor-operation-1}

This numeric field contains the minimum inlet air dry-bulb temperature entering the air coil (evaporator) and fan section, in degrees Celsius, below which the heat pump compressor does not operate. If this field is left blank, the default value is 10°C.

\paragraph{Field: Compressor Location}\label{field-compressor-location-1}

This alpha (choice) field contains the location of the heat pump compressor and the air temperature for this location is used to control operation of the compressor's crankcase heater in the \hyperref[coilwaterheatingairtowaterheatpumpwrapped]{Coil:WaterHeating:AirToWaterHeatPump:Wrapped} object. Valid entries are \textbf{Schedule}, \textbf{Zone}, or \textbf{Outdoors}. If `Schedule' is selected, a compressor ambient temperature schedule name must be defined in the field below; otherwise, the field below should be left blank. If `Zone' is selected, the crankcase heater operation is controlled based on the air temperature in the zone defined in the field Inlet Air Zone Name, and the Inlet Air Configuration must be `ZoneAirOnly' or `ZoneAndOutdoorAir'. If `Outdoors' is selected, crankcase heater operation is controlled based on the outdoor air temperature.

\paragraph{Field: Compressor Ambient Temperature Schedule Name}\label{field-compressor-ambient-temperature-schedule-name-1}

This alpha field contains the name of a schedule that defines the ambient air temperature surrounding the heat pump compressor, which is used to control the compressor's crankcase heater operation. This field is only used when the compressor location field defined above is specified as `Schedule', otherwise it should be left blank.

\paragraph{Field: Fan Object Type}\label{field-fan-object-type-1}

This alpha (choice) field contains the type of fan used by this heat pump water heater. Currently, the only valid choices are \hyperref[fansystemmodel]{Fan:SystemModel} and \hyperref[fanonoff]{Fan:OnOff}.

\paragraph{Field: Fan Name}\label{field-fan-name-1-000}

This alpha field contains the name of the specific fan (\hyperref[fansystemmodel]{Fan:SystemModel} or \hyperref[fanonoff]{\lstinline!Fan:OnOff!} object) used by this heat pump water heater.

\paragraph{Field: Fan Placement}\label{field-fan-placement-1-000}

This alpha (choice) field defines the placement of the fan in the heat pump water heater. Valid choices are \textbf{BlowThrough} (fan upstream of the air coil) and \textbf{DrawThrough} (fan downstream of the air coil). If this field is left blank, the default value is DrawThrough.

\paragraph{Field: On Cycle Parasitic Electric Load}\label{field-on-cycle-parasitic-electric-load-1}

This numeric field contains the on-cycle parasitic electric power in Watts. This is the parasitic electric power consumed by controls or other electrical devices associated with the heat pump water heater. This parasitic electric load is consumed whenever the heat pump compressor is operating and the model assumes that this parasitic power does not contribute to heating the water. This parasitic load does, however, affect the zone air heat balance when the heat pump water heater sends some or all of its outlet air to a zone (i.e., Inlet Air Configuration field specified as `ZoneAirOnly' or `ZoneAndOutdoorAir') and the Parasitic Heat Rejection Location field is specified as `Zone'. The minimum value for this field is 0.0, and the default value is also 0.0 if this field is left blank.

\paragraph{Field: Off Cycle Parasitic Electric Load}\label{field-off-cycle-parasitic-electric-load-1}

This numeric field contains the off-cycle parasitic electric power in Watts. This is the parasitic electric power consumed by controls or other electrical devices associated with the heat pump compressor. This parasitic electric load is consumed whenever the heat pump water heater is available but the compressor is not operating, and the model assumes that this parasitic power does not contribute to heating the water. This parasitic load does, however, affect the zone air heat balance when the heat pump water heater sends some or all of its outlet air to a zone (i.e., Inlet Air Configuration field specified as `ZoneAirOnly' or `ZoneAndOutdoorAir') and the Parasitic Heat Rejection Location field is specified as `Zone'. The minimum value for this field is 0.0, and the default value is also 0.0 if this field is left blank.

\paragraph{Field: Parasitic Heat Rejection Location}\label{field-parasitic-heat-rejection-location-1}

This alpha (choice) field determines where the on-cycle and off-cycle parasitic heat is rejected. Valid choices are Zone and Exterior. If `Zone' is selected, both the on-cycle and off-cycle parasitic heat is rejected to the zone defined in the field Inlet Air Zone Name, and the Inlet Air Configuration must be `ZoneAirOnly' or `ZoneAndOutdoorAir. If 'Outdoors' is selected, this parasitic heat is rejected outdoors (does not impact the zone air heat balance) regardless of the specified Inlet Air Configuration. If this field is left blank, the default value is 'Outdoors'.

\paragraph{Field: Inlet Air Mixer Node Name}\label{field-inlet-air-mixer-node-name-1}

This optional alpha field defines the name of the HVAC node which represents the mixture of outdoor air and zone air that enters the heat pump air coil (evaporator) and fan section. The model mixes outdoor air with zone air and places the result on this inlet air mixer node based on the Inlet Air Mixer Schedule defined below. When the schedule value is equal to 0, 100\% zone air enters the evaporator coil and fan section of the heat pump water heater. When the schedule value is equal to 1, 100\% outdoor air enters the evaporator coil and fan section. This node name must be provided if the Inlet Air Configuration field above is specified as `ZoneAndOutdoor Air', otherwise this field should be left blank.

\paragraph{Field: Outlet Air Splitter Node Name}\label{field-outlet-air-splitter-node-name-1}

This alpha field defines the name of the air node to which the heat pump air coil (evaporator) and fan sends all of its outlet air. The supply air flow downstream of this node is split between the zone and outdoors based on the Inlet Air Mixer schedule defined below. When the schedule value is equal to 0, the entire outlet air stream is diverted to the zone. When the schedule value is equal to 1, the entire outlet air stream is exhausted to outdoors. This node name must be provided if the Inlet Air Configuration field above is specified as `Zone and Outdoor Air', otherwise this field should be left blank.

\paragraph{Field: Inlet Air Mixer Schedule Name}\label{field-inlet-air-mixer-schedule-name-1}

This alpha field defines the name of the schedule (ref: Schedule) that denotes whether the heat pump draws its inlet air from the zone, outdoors, or a combination of zone and outdoor air. A schedule value equal to 0 indicates that the heat pump draws its inlet air from the zone. A schedule value equal to 1 denotes that the heat pump draws its inlet air from outdoors. Values between 0 and 1 denote a mixture of zone and outdoor air proportional to the schedule value. The Inlet Air Mixer schedule controls both the inlet air mixer and outlet air splitter nodes in unison to ensure that the operation of the heat pump does not contribute to zone pressurization or depressurization. For example if the Inlet Air Mixer schedule value is 0.4, then the inlet air mixer node is composed of 40\% outdoor air and 60\% zone air. For this same case, the outlet air splitter directs 60\% of the HPWH outlet air back to the zone and 40\% of the outlet air flow is exhausted outdoors. This schedule name must be provided if the Inlet Air Configuration field is specified as `Zone and Outdoor Air', otherwise this field should be left blank.

\paragraph{Field: Tank Element Control Logic}\label{field-tank-element-control-logic-1}

This alpha field defines settings for the control logic of when to run the tank element in relation to whether the heat pump is running.

\begin{itemize}
\tightlist
\item
  \textbf{MutuallyExclusive} means that once the tank heating element(s) are active, the heat pump is shut down until the heating element setpoint is reached.
\item
  \textbf{Simultaneous} (default) means that both the tank heating element and heat pump are used at the same time to recover the tank temperature.
\end{itemize}

\paragraph{Field: Control Sensor 1 Height In Stratified Tank}\label{field-control-sensor-1-height-in-stratified-tank-1}

This alpha field defines where the tank temperature is sensed for heat pump control when the tank type is \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}.~ The stratified tank model produces tank temperature at different nodes in the vertical direction and various options are available for how this temperature should be sensed to control the heat pump.~ This is measured in height from the bottom of the tank. Internally the appropriate node is determined based on this height. If omitted, this defaults to the height of Heater1.

\paragraph{Field: Control Sensor 1 Weight}\label{field-control-sensor-1-weight-1}

The model can optionally use two control sensor locations in stratified tanks. When that is the case, the temperature sensed at each location is weighted. This alpha input specifies the weight associated with Control Sensor 1. It is input as a value between 0 and 1. The weight of Control Sensor 2 is determined by subtracting this weight from 1. The default for this field is 1, indicating that only Control Sensor 1 is used.

\paragraph{Field: Control Sensor 2 Height in Stratified Tank}\label{field-control-sensor-2-height-in-stratified-tank-1}

This alpha field defines the optional second location where the tank temperature is sensed for heat pump control when the tank type is \hyperref[waterheaterstratified]{\lstinline!WaterHeater:Stratified!}. If omitted, this defaults to the height of Heater2.

Following is an example input for the \lstinline!WaterHeater:HeatPump:WrappedCondenser! compound object and the other required component objects that it references.

\begin{lstlisting}
WaterHeater:HeatPump:WrappedCondenser,
  PlantHeatPumpWaterHeater,   !- Name
  PlantHPWHSch,               !- Availability Schedule Name
  PlantHPWHTempSch,           !- Compressor Setpoint Temperature Schedule Name
  3.89,                       !- Dead Band Temperature Difference {deltaC}
  0.0664166667,               !- Condenser Bottom Location
  0.8634166667,               !- Condenser Top Location
  0.2279,                     !- Evaporator Air Flow Rate {m3/s}
  OutdoorAirOnly,             !- Inlet Air Configuration
  ,                           !- Air Inlet Node Name
  ,                           !- Air Outlet Node Name
  HPPlantAirInletNode,        !- Outdoor Air Node Name
  HPPlantAirOutletNode,       !- Exhaust Air Node Name
  ,                           !- Inlet Air Temperature Schedule Name
  ,                           !- Inlet Air Humidity Schedule Name
  ,                           !- Inlet Air Zone Name
  WaterHeater:Stratified,     !- Tank Object Type
  HPWHPlantTank,              !- Tank Name
  HPWH Use Inlet Node,        !- Tank Use Side Inlet Node Name
  HPWH Use Outlet Node,       !- Tank Use Side Outlet Node Name
  Coil:WaterHeating:AirToWaterHeatPump:Wrapped,  !- DX Coil Object Type
  HPWHPlantDXCoil,            !- DX Coil Name
  7.2,                        !- Minimum Inlet Air Temperature for Compressor Operation {C}
  Outdoors,                   !- Compressor Location
  ,                           !- Compressor Ambient Temperature Schedule Name
  Fan:SystemModel,            !- Fan Object Type
  HPWHPlantFan,               !- Fan Name
  DrawThrough,                !- Fan Placement
  0,                          !- On Cycle Parasitic Electric Load {W}
  0,                          !- Off Cycle Parasitic Electric Load {W}
  ,                           !- Parasitic Heat Rejection Location
  ,                           !- Inlet Air Mixer Node Name
  ,                           !- Outlet Air Splitter Node Name
  ,                           !- Inlet Air Mixer Schedule Name
  MutuallyExclusive,          !- Tank Element Control Logic
  1.262,                      !- Control Sensor 1 Height In Stratified Tank
  0.75,                       !- Control Sensor 1 Weight
  0.464;                      !- Control Sensor 2 Height In Stratified Tank
\end{lstlisting}

NOTE: branch object required only when tank use inlet nodes are used.

\begin{lstlisting}
Branch,
  Central HPWH Branch,        !- Name
  ,                           !- Pressure Drop Curve Name
  WaterHeater:HeatPump:WrappedCondenser,  !- Component 1 Object Type
  PlantHeatPumpWaterHeater,   !- Component 1 Name
  HPWH Use Inlet Node,        !- Component 1 Inlet Node Name
  HPWH Use Outlet Node;       !- Component 1 Outlet Node Name

WaterHeater:Stratified,
  HPWHPlantTank,              !- Name
  Water Heater,               !- End-Use Subcategory
  0.287691,                   !- Tank Volume {m3}
  1.594,                      !- Tank Height {m}
  VerticalCylinder,           !- Tank Shape
  ,                           !- Tank Perimeter {m}
  100,                        !- Maximum Temperature Limit {C}
  MasterSlave,                !- Heater Priority Control
  Plant Hot Water Setpoint Temp Schedule,  !- Heater 1 Setpoint Temperature Schedule Name
  18.5,                       !- Heater 1 Deadband Temperature Difference {deltaC}
  4500,                       !- Heater 1 Capacity {W}
  1.129,                      !- Heater 1 Height {m}
  Plant Hot Water Setpoint Temp Schedule,  !- Heater 2 Setpoint Temperature Schedule Name
  18.5,                       !- Heater 2 Deadband Temperature Difference {deltaC}
  0,                          !- Heater 2 Capacity {W}
  0.266,                      !- Heater 2 Height {m}
  Electricity,                !- Heater Fuel Type
  1,                          !- Heater Thermal Efficiency
  8.3,                        !- Off Cycle Parasitic Fuel Consumption Rate {W}
  Electricity,                !- Off Cycle Parasitic Fuel Type
  0,                          !- Off Cycle Parasitic Heat Fraction to Tank
  1,                          !- Off Cycle Parasitic Height {m}
  8.3,                        !- On Cycle Parasitic Fuel Consumption Rate {W}
  Electricity,                !- On Cycle Parasitic Fuel Type
  0,                          !- On Cycle Parasitic Heat Fraction to Tank
  1,                          !- On Cycle Parasitic Height {m}
  Outdoors,                   !- Ambient Temperature Indicator
  ,                           !- Ambient Temperature Schedule Name
  ,                           !- Ambient Temperature Zone Name
  ,                           !- Ambient Temperature Outdoor Air Node Name
  0.7878,                     !- Uniform Skin Loss Coefficient per Unit Area to Ambient Temperature {W/m2-K}
  1,                          !- Skin Loss Fraction to Zone
  ,                           !- Off Cycle Flue Loss Coefficient to Ambient Temperature {W/K}
  1,                          !- Off Cycle Flue Loss Fraction to Zone
  0.001,                      !- Peak Use Flow Rate {m3/s}
  ,                           !- Use Flow Rate Fraction Schedule Name
  ,                           !- Cold Water Supply Temperature Schedule Name
  HPWH Use Inlet Node,        !- Use Side Inlet Node Name
  HPWH Use Outlet Node,       !- Use Side Outlet Node Name
  1,                          !- Use Side Effectiveness
  0,                          !- Use Side Inlet Height {m}
  autocalculate,              !- Use Side Outlet Height {m}
  HPPlantWaterOutletNode,     !- Source Side Inlet Node Name
  HPPlantWaterInletNode,      !- Source Side Outlet Node Name
  1,                          !- Source Side Effectiveness
  0.7,                        !- Source Side Inlet Height {m}
  0,                          !- Source Side Outlet Height {m}
  Fixed,                      !- Inlet Mode
  autosize,                   !- Use Side Design Flow Rate {m3/s}
  autosize,                   !- Source Side Design Flow Rate {m3/s}
  1.5,                        !- Indirect Water Heating Recovery Time {hr}
  12;                         !- Number of Nodes

OutdoorAir:Node,
  HPWHPlantTank OA Node;      !- Name

Coil:WaterHeating:AirToWaterHeatPump:Wrapped,
  HPWHPlantDXCoil,            !- Name
  2349.6,                     !- Rated Heating Capacity {W}
  2.4,                        !- Rated COP {W/W}
  0.981,                      !- Rated Sensible Heat Ratio
  19.72,                      !- Rated Evaporator Inlet Air Dry-Bulb Temperature {C}
  13.5,                       !- Rated Evaporator Inlet Air Wet-Bulb Temperature {C}
  48.89,                      !- Rated Condenser Water Temperature {C}
  0.189,                      !- Rated Evaporator Air Flow Rate {m3/s}
  Yes,                        !- Evaporator Fan Power Included in Rated COP
  HPPlantFanAirOutletNode,    !- Evaporator Air Inlet Node Name
  HPPlantAirOutletNode,       !- Evaporator Air Outlet Node Name
  0,                          !- Crankcase Heater Capacity {W}
  10,                         !- Maximum Ambient Temperature for Crankcase Heater Operation {C}
  WetBulbTemperature,         !- Evaporator Air Temperature Type for Curve Objects
  HPWH-Htg-Cap-fT,            !- Heating Capacity Function of Temperature Curve Name
  ,                           !- Heating Capacity Function of Air Flow Fraction Curve Name
  HPWH-Htg-COP-fT,            !- Heating COP Function of Temperature Curve Name
  ,                           !- Heating COP Function of Air Flow Fraction Curve Name
  HPWH-COP-fPLR;              !- Part Load Fraction Correlation Curve Name

Fan:OnOff,
  HPWHPlantFan,               !- Name
  PlantHPWHSch,               !- Availability Schedule Name
  0.1722,                     !- Fan Total Efficiency
  65,                         !- Pressure Rise {Pa}
  0.2279,                     !- Maximum Flow Rate {m3/s}
  1,                          !- Motor Efficiency
  0,                          !- Motor In Airstream Fraction
  HPPlantAirInletNode,        !- Air Inlet Node Name
  HPPlantFanAirOutletNode;    !- Air Outlet Node Name
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-3-022}

\begin{itemize}
\item
  \textbf{HVAC,Average,Water Heater Compressor Part Load Ratio}
\item
  \textbf{HVAC,Average,Water Heater On Cycle Ancillary Electricity Rate {[}W{]}}
\item
  \textbf{HVAC,Sum,Water Heater On Cycle Ancillary Electricity Energy {[}J{]}}
\item
  \textbf{HVAC,Average,Water Heater Off Cycle Ancillary Electricity Rate {[}W{]}}
\item
  \textbf{HVAC,Sum,Water Heater Off Cycle Ancillary Electricity Energy {[}J{]}}
\end{itemize}

\paragraph{Water Heater Compressor Part Load Ratio}\label{water-heater-compressor-part-load-ratio-1}

This output is the average part-load ratio of the heat pump water heater's compressor (as well as its water pump and fan) for the timestep being reported. This output is independent of the ``Water Heater Part Load Ratio'' (Ref. Water Heater Outputs) which represents the part-load ratio of the supplemental heater (element or burner) in the water tank. When the water tank's (supplemental) heater set point temperature is higher than the cut-in temperature of the heat pump water heater's compressor, the heat pump compressor is disabled and the water tank's heater (element or burner) is used to heat the water. During these times the Water Heater Compressor Part Load Ratio is equal to 0.

\paragraph{Water Heater On Cycle Ancillary Electricity Rate {[}W{]}}\label{water-heater-on-cycle-ancillary-electric-power-w-1}

\paragraph{Water Heater On Cycle Ancillary Electricity Energy {[}J{]}}\label{water-heater-on-cycle-ancillary-electric-energy-j-1}

\paragraph{Water Heater Off Cycle Ancillary Electricity Rate {[}W{]}}\label{water-heater-off-cycle-ancillary-electric-power-w-1}

\paragraph{Water Heater Off Cycle Ancillary Electricity Energy {[}J{]}}\label{water-heater-off-cycle-ancillary-electric-energy-j-1}

These outputs are the parasitic electric power and consumption associated with the heat pump water heater. Specific outputs represent parasitic electrical usage during the compressor/fan on and off cycles. These outputs represent electronic controls or other electric component. The model assumes that the parasitic power does not contribute to heating the water, but it can impact the zone air heat balance depending on user inputs. The parasitic electric consumption outputs are also added to a meter with Resource Type = Electricity, End Use Key = DHW, Group Key = Plant (ref. Output:Meter objects).

\subsection{Cold Thermal Storage Objects}\label{thermal-storage-objects}

There are four types of cold thermal storage objects that can be added to plant loops. (To model cold thermal storage integrated with packaged air-conditioning units, see the thermal storage cooling coil in section \ref{coilcoolingdxsinglespeedthermalstorage}.  The four cold thermal storage objects for plant loops are:

\begin{itemize}
\item
  \hyperref[thermalstorageicesimple]{ThermalStorage:Ice:Simple}
\item
  \hyperref[thermalstorageicedetailed]{ThermalStorage:Ice:Detailed}
\item
  \hyperref[thermalstoragechilledwatermixed]{ThermalStorage:ChilledWater:Mixed}
\item
  \hyperref[thermalstoragechilledwaterstratified]{ThermalStorage:ChilledWater:Stratified}
\end{itemize}

These objects are typically placed on the supply side of a primary chilled water loop in series or in parallel with one or more chillers.~ Using the the component set point (\hyperref[plantequipmentoperationcomponentsetpoint]{PlantEquipmentOperation:ComponentSetpoint}) plant operation scheme type, the chiller and storage tank setpoints are used to control operation. Using a \hyperref[setpointmanagerscheduled]{SetpointManager:Scheduled} object (or other appropriate type of set point manager), the setpoints on the chiller outlet node and the ice storage outlet node can be used to control how the cooling load is shared and when charging of storage occurs.~ Example setpoints to use for various modes of operation are shown in the table below:

\begin{longtable}[c]{p{3.0in}p{1.5in}p{1.5in}}
\toprule
Mode & Chiller Setpoint & Storage Setpoint \tabularnewline
\midrule
\endfirsthead

\toprule
Mode & Chiller Setpoint & Storage Setpoint \tabularnewline
\midrule
\endhead

Charging ice storage tank & -5C & 7C \tabularnewline
Cooling with chiller only & 7C & 99C \tabularnewline
Cooling with chiller and storage (fully load chiller before using storage)) & 7C & 7C \tabularnewline
Cooling with chiller and storage (chiller carries portion of load, valid if chiller is upstream of storage) & 10C & 7C \tabularnewline
\bottomrule
\end{longtable}

Example files have been developed for three common storage configurations:

1.~Series -- Chiller Upstream:~ In this configuration, a chiller is placed first on the same branch as the storage unit.

2.~Series -- Chiller Downstream:~ In this configuration, a chiller is placed second on the same branch as the storage unit.

\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\setcounter{enumi}{2}
\tightlist
\item
  Parallel:~ In this configuration, the chiller is on a branch parallel to the storage unit branch when it is not charging.~ During charging mode, valves will be changed so that the chiller is in series upstream of the storage.~ To accomplish this in EnergyPlus, the chiller must be modeled using two different chiller objects to represent the same chiller.~ One chiller object on a parallel branch operates only when storage is not being charged.~ The other chiller object, in series upstream of the storage unit operates only during charging mode.
\end{enumerate}

Other considerations for applying cold thermal storage objects include:

\begin{itemize}
\item
  In the \hyperref[plantloop]{PlantLoop} object, the ``Minimum Loop Temperature'' must be set equal to or less than the lowest setpoint to be used anywhere in the loop.
\item
  To end the storage charging cycle, use a \hyperref[availabilitymanagerlowtemperatureturnoff]{AvailabilityManager:LowTemperatureTurnOff} to shut off the primary chilled water loop when the temperature leaving the storage tank nears the charging mode chiller setpoint indicating that the tank is fully charged.~ For example, if the chiller is set to provide --5C chilled water during charging, then charging can be shut down when the water temperature leaving the storage unit reaches --4C.~ When using a primary-secondary loop arrangement, it may be necessary to schedule this availability manager to be active only when the HVAC systems are off to avoid fighting between the demand controls and the availability manager.
\end{itemize}

\subsection{ThermalStorage:Ice:Simple}\label{thermalstorageicesimple}

This thermal storage model is based on a simple simulation of an ice storage tank with a fixed capacity.~ The tank is charged, or frozen, in an ice-on-coil configuration where ice builds up on the outside of the tubes carrying the brine or glycol solution from the chiller.~ There are two discharge (melt) options, internal or external.~ Internal melt uses the same fluid tubes for charging and discharging.~ External melt uses a separate fluid path for discharge such that the outer layers of ice melt first.~ The ice storage model includes an implied 3-way valve to control the amount of charge/discharge based on the incoming water temperature and the outlet node setpoint temperature.~ The storage tank is assumed to be fully charged (full of ice) at the beginning of each environment.~ The tank is then allowed to charge and discharge during the warmup days of the environment.~ The tank is best controlled using the \hyperref[plantequipmentoperationcomponentsetpoint]{PlantEquipmentOperation:ComponentSetpoint} plant operation scheme, and requires that a setpoint be placed by a set point manager on the ice storage Plant Outlet Node.

The input fields for the object are described in detail below:

\subsubsection{Inputs}\label{inputs-20-004}

\paragraph{Field: Name}\label{field-name-20-001}

This required alpha field contains the identifying name for the ice storage tank.

\paragraph{Field: Ice Storage Type}\label{field-ice-storage-type}

This alpha field specifies the type of ice storage tank to be modeled. There are two options:~ ``\textbf{IceOnCoilInternal}'' models ice-on-coil, internal melt.``IceOnCoilExternal'' models ice-on-coil, external melt.

\paragraph{Field: Capacity}\label{field-capacity-000}

This required numeric field contains the nominal capacity of the ice storage in GJ (Giga is 10\(^{9}\)). This field is autosizable when Coil:Cooling:Water, Coil:Cooling:Water:DetailedGeometry, AirTerminal:SingleDuct:ConstantVolume:CooledBeam, AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam, ZoneHVAC:CoolingPanel:RadiantConvective:Water or LoadProfile:Plant objects are used within the plant. Autosizing requires the use of the \hyperref[thermalstoragesizing]{ThermalStorage:Sizing} object. Other plant equipment have not yet been added to the autosizing capability. If other plant equipment types are connected to the thermal energy storage plant loops and the TES capacity is insufficent to meet the load the work around for capacity sizing is to adjust the Sizing Factor in the \hyperref[thermalstoragesizing]{ThermalStorage:Sizing} object, adjust the Sizing:Plant object inputs or enter a value here instead of using autosize.

\paragraph{Field: Inlet Node Name}\label{field-inlet-node-name-004}

This required alpha field specifies the name of the chilled water inlet node.

\paragraph{Field: Outlet Node Name}\label{field-outlet-node-name-005}

This required alpha field specifies the name of the chilled water outlet node.

\paragraph{Field: Thermal Storage Sizing Object Name}\label{field-thermal-storage-sizing-object-name-001}

This alpha field specifies the name of the ThermalStorage:Sizing object name. If the capacity field is autosized this object is required.

Following is an example input for the THERMAL STORAGE:ICE:SIMPLE object.

\begin{lstlisting}
ThermalStorage:Ice:Simple,
  ITS,                        !- Ice Storage Name
  IceOnCoilInternal,          !- Ice Storage Type
  1.5,                        !- Ice Storage Capacity {GJ}
  ITS Inlet Node,             !- Plant Loop Inlet Node
  ITS Outlet Node;            !- Plant Loop Outlet Node
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-18-000}

The following outputs are available for simple Ice Storage model:

\begin{itemize}
\item
  HVAC,Average,Ice Thermal Storage Requested Load {[}W{]}
\item
  Zone,Average,Ice Thermal Storage End Fraction{[]}
\item
  HVAC,Average,Ice Thermal Storage Mass Flow Rate {[}kg/s{]}
\item
  HVAC,Average,Ice Thermal Storage Inlet Temperature {[}C{]}
\item
  HVAC,Average,Ice Thermal Storage Outlet Temperature {[}C{]}
\item
  HVAC,Average,Ice Thermal Storage Cooling Discharge Rate {[}W{]}
\item
  HVAC,Sum,Ice Thermal Storage Cooling Discharge Energy {[}J{]}
\item
  HVAC,Average,Ice Thermal Storage Cooling Charge Rate {[}W{]}
\item
  HVAC,Sum,Ice Thermal Storage Cooling Charge Energy {[}J{]}
\end{itemize}

\paragraph{Ice Thermal Storage Requested Load {[}W{]}}\label{ice-thermal-storage-requested-load-w}

The load requested by the plant control scheme. A positive value indicates a cooling load or a request to discharge (melt) the tank. A negative value indicates a request to charge (freeze) the tank.

\paragraph{Ice Thermal Storage End Fraction {[]}}\label{ice-thermal-storage-end-fraction}

The fraction of full ice storage which is present at the end of the current HVAC timestep. When reported at a frequency less than detailed, this value is averaged over the reporting period.

\paragraph{Ice Thermal Storage Mass Flow Rate {[}kg/s{]}}\label{ice-thermal-storage-mass-flow-rate-kgs}

The total water mass flow rate through the ice storage component. Because the component includes an implied 3-way valve, this flow may be all through the tank, all bypassed through the valve, or a mixture of both.

\paragraph{Ice Thermal Storage Inlet Temperature {[}C{]}}\label{ice-thermal-storage-inlet-temperature-c}

The water temperature entering the ice storage component.

\paragraph{Ice Thermal Storage Outlet Temperature {[}C{]}}\label{ice-thermal-storage-outlet-temperature-c}

The water temperature leaving the ice storage component.

\paragraph{Ice Thermal Storage Cooling Discharge Rate {[}W{]}}\label{ice-thermal-storage-cooling-discharge-rate-w}

The rate of cooling delivered by the ice storage component. A positive value indicates the ice tank is discharging (melting). A zero value indicates the tank is charging or dormant.

\paragraph{Ice Thermal Storage Cooling Discharge Energy {[}J{]}}\label{ice-thermal-storage-cooling-discharge-energy-j}

The cooling energy delivered by the ice storage component. A positive value indicates the ice tank is discharging (melting). A zero value indicates the tank is charging or dormant.

\paragraph{Ice Thermal Storage Cooling Charge Rate {[}W{]}}\label{ice-thermal-storage-cooling-charge-rate-w}

The rate of charging delivered to the ice storage component. A positive value indicates the ice tank is charging (freezing). A zero value indicates the tank is discharging or dormant.

\paragraph{Ice Thermal Storage Cooling Charge Energy {[}J{]}}\label{ice-thermal-storage-cooling-charge-energy-j}

The charging energy delivered to the ice storage component. A positive value indicates the ice tank is charging (freezing). A zero value indicates the tank is discharging or dormant.

\subsection{ThermalStorage:Ice:Detailed}\label{thermalstorageicedetailed}

The detailed ice storage model allows the users of EnergyPlus to model more closely specific manufacturers' ice storage units. This is possible due to the use of curve fits to simulate the performance of the ice storage unit during charging and discharging. In this implementation, both charging and discharging are a function of the fraction charged/discharged as well as the log mean temperature difference across the storage unit. More information on the model is provided in the Engineering Reference for EnergyPlus. The remainder of this section describes the input required for the detailed ice storage model and the output that it can produce.

\subsubsection{Inputs}\label{inputs-21-004}

\paragraph{Field: Name}\label{field-name-21-001}

This field is the name of the detailed ice storage system given to it by the user.

\paragraph{Field: Availability Schedule Name}\label{field-availability-schedule-name-012}

This field is the name of the schedule (ref: Schedule) that determines whether or not the ice storage system is available during a particular time period. This allows the system to be turned off during a particular season. A value of less than or equal to zero indicates that the ice storage system is not available. Any value greater than zero indicates that the system is available. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Capacity}\label{field-capacity-1-000}

This number is the maximum amount of latent thermal storage available in the ice storage system. This model does not allow the removal or addition of sensible energy from the tank. Thus, it is always assumed to be at the freezing temperature of the storage material. The capacity is expressed in units of GJ. This field is autosizable when Coil:Cooling:Water, Coil:Cooling:Water:DetailedGeometry, AirTerminal:SingleDuct:ConstantVolume:CooledBeam, AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam, ZoneHVAC:CoolingPanel:RadiantConvective:Water or LoadProfile:Plant objects are used within the plant. Autosizing requires the use of the \hyperref[thermalstoragesizing]{ThermalStorage:Sizing} object. Other plant equipment have not yet been added to the autosizing capability. If other plant equipment types are connected to the thermal energy storage plant loops and the TES capacity is insufficent to meet the load the work around for capacity sizing is to adjust the Sizing Factor in the \hyperref[thermalstoragesizing]{ThermalStorage:Sizing} object, adjust the Sizing:Plant object inputs or enter a value here instead of using autosize.

\paragraph{Field: Inlet Node Name}\label{field-inlet-node-name-1-001}

This is the name of the node that connects the ice storage system to the plant loop. It is the inlet node to the ice storage component. The next field defines the outlet node. Due to presence of an internal bypass in this model, there are other ``nodes'' that are handled internally within the program. Users do not need to define any nodes other than the inlet and outlet nodes.

\paragraph{Field: Outlet Node Name}\label{field-outlet-node-name-1-002}

This is the name of the other node that connects the ice storage system to the plant loop. It is the outlet node to the ice storage component.

\paragraph{Field: Discharging Curve Variable Specifications}\label{field-discharging-curve-variable-specifications}

The detailed ice storage model in EnergyPlus takes advantage of the Curve feature of the program.  The discharging curve can use any curve that has two independent variables.  This field controls which two parameters are the independent variables in modeling the performance of the detailed ice storage model during discharging. There are four different independent variable specifications:

\begin{itemize}
\item
FractionChargedLMTD (where Fraction Charged is the first independent variable and LMTD is the second independent variable)
\item
FractionDischargedLMTD (where Fraction Discharged is the first independent variable and LMTD is the second independent variable)
\item
LMTDMassFlow (where LMTD is the first independent variable and Mass Flow rate is the second independent variable)
\item
LMTDFractionCharged (where LMTD is the first independent variable and Fraction Charged is the second independent variable)
\end{itemize}

More information on curve types can be found in the section on Curves.  For additional information on how these curves are used in the Detailed Ice Storage model, please consult the Engineering Reference.

\paragraph{Field: Discharging Curve Name}\label{field-discharging-curve-name}

This field specifies the name of the actual curve fit to be used to model the discharging process of the detailed ice storage system. Note that this must be a curve that has two independent variables.

\paragraph{Field: Charging Curve Variable Specifications}\label{field-charging-curve-variable-specifications}

The detailed ice storage model in EnergyPlus takes advantage of the Curve feature of the program.  The charging curve can use any curve that has two independent variables.  This field controls which two parameters are the independent variables in modeling the performance of the detailed ice storage model during charging. There are four different independent variable specifications:


\begin{itemize}
\item
FractionChargedLMTD (where Fraction Charged is the first independent variable and LMTD is the second independent variable)
\item
FractionDischargedLMTD (where Fraction Discharged is the first independent variable and LMTD is the second independent variable)
\item
LMTDMassFlow (where LMTD is the first independent variable and Mass Flow rate is the second independent variable)
\item
LMTDFractionCharged (where LMTD is the first independent variable and Fraction Charged is the second independent variable)
\end{itemize}

More information on curve types can be found in the section on Curves.  For additional information on how these curves are used in the Detailed Ice Storage model, please consult the Engineering Reference.

\paragraph{Field: Charging Curve Name}\label{field-charging-curve-name}

This field specifies the name of the actual curve fit to be used to model the charging process of the detailed ice storage system. Note that this must be a curve that has two independent variables.

\paragraph{Field: Timestep of the Curve Data}\label{field-timestep-of-the-curve-data}

This field defines what timestep was used to produce the curve fits named in the previous inputs. This parameter is important because the curve fit is non-dimensional. Thus, the data used to develop the curve fits were based on a specific length of time. In many cases, this is probably one hour or 1.0. The units for this parameter are hours.

\paragraph{Field: Parasitic Electric Load During Discharging}\label{field-parasitic-electric-load-during-discharging}

This field defines the amount of parasitic electric consumption (for controls or other miscellaneous electric consumption associate with the ice storage unit itself) during the discharge phase. This parameter is dimensionless and gets multiplied by the current load on the tank.

\paragraph{Field: Parasitic Electric Load During Charging}\label{field-parasitic-electric-load-during-charging}

This field defines the amount of parasitic electric consumption (for controls or other miscellaneous electric consumption associate with the ice storage unit itself) during the charge phase. This parameter is dimensionless and gets multiplied by the current load on the tank.

\paragraph{Field: Tank Loss Coefficient}\label{field-tank-loss-coefficient}

This field defines the loss of ice stored during a particular hour. This field is dimensionless (per hour). It is not multiplied by any temperature difference between the tank and the environment in which it might be located.

\paragraph{Field: Freezing Temperature of Storage Medium}\label{field-freezing-temperature-of-storage-medium}

This parameter defines the freezing/melting temperature of the ice storage medium in degrees Celsius. For most tanks, this is simply 0.0°C (the default value). However, some tanks may use other materials or salts which would change the freezing temperature. This can be changed using this parameter.

\paragraph{Field: Thaw Process Indicator}\label{field-thaw-process-indicator}

This input field assists in more accurate modeling of the charging process by defining how the thawing of ice takes place. There are two options for this input: \textbf{InsideMelt} and \textbf{OutsideMelt}. Some ice storage systems, by their nature, start the charging process with a bare coil or no ice left on the charging surface even though there is still ice stored in the tank.~ An example of such a system is sometimes referred to as an ice-on-coil inside melt system, and these systems would define this parameter using the ``InsideMelt'' option for this field.~ Other systems melt the ice from the outside, leaving ice still on the charging surface when charging begins. These systems are modeled using the ``OutsideMelt'' option.~ For systems that have a charging process that does not vary significantly with fraction charged can ignore this input by accepting the default value.~ The default value for this field is ``OutsideMelt''.

\paragraph{Field: Thermal Storage Sizing Object Name}\label{field-thermal-storage-sizing-object-name-002}

This alpha field specifies the name of the ThermalStorage:Sizing object name. If the capacity field is autosized this object is required.

An IDF example:

\begin{lstlisting}
ThermalStorage:Ice:Detailed,
  Ice Tank,                   !- Ice Storage Name
  ON,                         !- Ice Storage availability schedule
  0.5,                        !- Ice Storage Capacity {GJ}
  Ice Tank Inlet Node,        !- Plant Loop Inlet Node
  Ice Tank Outlet Node,       !- Plant Loop Outlet Node
  FractionDischargedLMTD,     !- Discharging Curve Fit Type
  DischargeCurve,             !- Discharging Curve Name
  FractionChargedLMTD,        !- Charging Curve Fit Type
  ChargeCurve,                !- Charging Curve Name
  1.0,                        !- Timestep of Curve Fit Data
  0.0001,                     !- Parasitic electric load during discharging
  0.0002,                     !- Parasitic electric load during charging
  0.0003,                     !- Tank loss coefficient
  0.0;                        !- Freezing temperature [C]
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-19-000}

Current detailed ice storage output variables are:

\begin{itemize}
\item
  System, Average, Ice Thermal Storage Cooling Rate {[}W{]}
\item
  System, Average, Ice Thermal Storage Change Fraction {[]}
\item
  System, Average, Ice Thermal Storage End Fraction {[]}
\item
  System, Average, Ice Thermal Storage Mass Flow Rate {[}kg/s{]}
\item
  System, Average, Ice Thermal Storage Bypass Mass Flow Rate {[}kg/s{]}
\item
  System, Average, Ice Thermal Storage Tank Mass Flow Rate {[}kg/s{]}
\item
  System, Average, Ice Thermal Storage Fluid Inlet Temperature {[}C{]}
\item
  System, Average, Ice Thermal Storage Blended Outlet Temperature {[}C{]}
\item
  System, Average, Ice Thermal Storage Tank Outlet Temperature {[}C{]}
\item
  System, Average, Ice Thermal Storage Cooling Discharge Rate {[}W{]}
\item
  System, Sum, Ice Thermal Storage Cooling Discharge Energy {[}J{]}
\item
  System, Average, Ice Thermal Storage Cooling Charge Rate {[}W{]}
\item
  System, Sum, Ice Thermal Storage Cooling Charge Energy {[}J{]}
\item
  System, Average, Ice Thermal Storage Ancillary Electricity Rate {[}W{]}
\item
  System, Sum, Ice Thermal Storage Ancillary Electricity Energy {[}J{]}
\item
  System, Average, Ice Thermal Storage On Coil Fraction {[]}
\end{itemize}

\paragraph{~Ice Thermal Storage Cooling Rate {[}W{]}}\label{ice-thermal-storage-cooling-rate-w}

The actual load (absolute value) provided by the ice storage system during the current timestep

\paragraph{Ice Thermal Storage Change Fraction {[]}}\label{ice-thermal-storage-change-fraction}

The change in the ice tank's charge fraction charged during the current timestep (positive for charging, negative for discharging).

\paragraph{Ice Thermal Storage End Fraction {[]}}\label{ice-thermal-storage-end-fraction-1}

The fraction charge of the ice storage system at the end of the timestep

\paragraph{Ice Thermal Storage On Coil Fraction {[]}}\label{ice-thermal-storage-on-coil-fraction}

The fraction of ice that is actually on the freezing surface at the end of the timestep.~ This can be different for an ``inside melt'' system than the end fraction (see previous output parameter).

\paragraph{Ice Thermal Storage Mass Flow Rate {[}kg/s{]}}\label{ice-thermal-storage-mass-flow-rate-kgs-1}

The mass flow through the ice storage component

\paragraph{Ice Thermal Storage Bypass Mass Flow Rate {[}kg/s{]}}\label{ice-thermal-storage-bypass-mass-flow-rate-kgs}

The mass flow through the ice storage component bypass (bypasses the actual unit)

\paragraph{Ice Thermal Storage Tank Mass Flow Rate {[}kg/s{]}}\label{ice-thermal-storage-tank-mass-flow-rate-kgs}

The mass flow through the ice storage unit itself

\paragraph{Ice Thermal Storage Fluid Inlet Temperature {[}C{]}}\label{ice-thermal-storage-fluid-inlet-temperature-c}

The inlet temperature to the ice storage component

\paragraph{Ice Thermal Storage Blended Outlet Temperature {[}C{]}}\label{ice-thermal-storage-blended-outlet-temperature-c}

The outlet temperature of the component after mixing any bypass flow with flow through the ice storage unit

\paragraph{Ice Thermal Storage Tank Outlet Temperature {[}C{]}}\label{ice-thermal-storage-tank-outlet-temperature-c}

The outlet temperature of the ice storage unit itself below mixing with any bypass flow

\paragraph{Ice Thermal Storage Cooling Discharge Rate {[}W{]}}\label{ice-thermal-storage-cooling-discharge-rate-w-1}

The cooling done (as a rate) by the ice storage unit or its discharge rate

\paragraph{Ice Thermal Storage Cooling Discharge Energy {[}J{]}}\label{ice-thermal-storage-cooling-discharge-energy-j-1}

The total cooling done by the ice storage unit or its discharge rate

\paragraph{Ice Thermal Storage Cooling Charge Rate {[}W{]}}\label{ice-thermal-storage-cooling-charge-rate-w-1}

The charging done (as a rate) to the ice storage unit

\paragraph{Ice Thermal Storage Cooling Charge Energy {[}J{]}}\label{ice-thermal-storage-cooling-charge-energy-j-1}

The total charging done to the ice storage unit

\paragraph{Ice Thermal Storage Ancillary Electricity Rate {[}W{]}}\label{ice-thermal-storage-ancillary-electric-power-w}

The electric power as a result of parasitic loads on the ice storage unit for things like controls or other miscellaneous parts of the ice storage unit itself

\paragraph{Ice Thermal Storage Ancillary Electricity Energy {[}J{]}}\label{ice-thermal-storage-ancillary-electric-energy-j}

The electric consumption as a result of parasitic loads on the ice storage unit for things like controls or other miscellaneous parts of the ice storage unit itself

\subsection{ThermalStorage:ChilledWater:Mixed}\label{thermalstoragechilledwatermixed}

The ThermalStorage:ChilledWater:Mixed object analytically solves the differential equation governing the energy balance of the water tank.~ The chilled water is ``used'' by drawing from the ``Use Side'' of the water tank.~ The tank is indirectly charged by circulating cold water through the ``Source Side'' of the water tank.

Control is based on cycling flow through the source side.~ When the tank temperature rises above a ``cut-in'' temperature, source side flow is requested.~ Source side flow will continue until the tank is cooled to below the tank set point or ``cut-out'' temperature.

For heat gains from the ambient environment, the ambient air temperature can be taken from a schedule, a zone, or the exterior. When used with a zone, the skin gains are removed from the zone heat balance as negative internal heat gains.

\subsubsection{Inputs}\label{inputs-22-003}

\paragraph{Field: Name}\label{field-name-22-001}

The unique name of the ThermalStorage:ChilledWater:Mixed object.

\paragraph{Field: Tank Volume}\label{field-tank-volume}

The volume of the thermal storage tank {[}m\(^{3}\){]}.

\paragraph{Field: Setpoint Temperature Schedule Name}\label{field-setpoint-temperature-schedule-name-000}

The reference to the schedule object specifying the chilled water temperature setpoint {[}°C{]}. Also known as the ``cut-out'' temperature.

\paragraph{Field: Deadband Temperature Difference}\label{field-deadband-temperature-difference}

The delta temperature difference {[}Δ°C{]} between the setpoint and the ``cut-in'' temperature at which the storage tank will request cooling. In other words, the ``cut-in'' temperature is Setpoint + Deadband.

\paragraph{Field: Minimum Temperature Limit}\label{field-minimum-temperature-limit}

The temperature {[}°C{]} at which the tank water becomes too cold.~ No source side flow is allowed when the tank temperature is below this limit.~ The minimum temperature must be lower than the setpoint temperature at all times.

\paragraph{Field: Nominal Cooling Capacity}\label{field-nominal-cooling-capacity-2}

This field describes the typical cooling capacity that the chilled water tank will provide.~ Since this is a passive device, the actual cooling capacity depends on water temperatures and flow rates.~ However, this field is used to describe the chilled water tank's nominal cooling capacity for supervisory control where plant operation schemes require a cooling capacity to model how equipment is dispatched.

\paragraph{Field: Ambient Temperature Indicator}\label{field-ambient-temperature-indicator}

The Ambient Temperature Indicator specifies how the ambient air temperature will be indicated. The field can be ``Schedule'', ``Zone'', or ``Exterior.'' If \emph{Schedule} is used, the Ambient Temperature Schedule Name field provides the values for ambient temperature. If \emph{Zone} is used, the zone air temperature of the zone specified in the Ambient Temperature Zone field provides the ambient temperature. If \emph{Exterior} is used, the outdoor dry-bulb air temperature provides the ambient temperature.

\paragraph{Field: Ambient Temperature Schedule Name}\label{field-ambient-temperature-schedule-name-000}

The field contains the name of a schedule object specifying the ambient air temperature around the tank for skin gains. This field is only used if Ambient Temperature Indicator is \emph{Schedule}.

\paragraph{Field: Ambient Temperature Zone Name}\label{field-ambient-temperature-zone-name-000}

The reference to the zone object specifying the ambient air temperature around the tank for skin gains. This field is only used if Ambient Temperature Indicator is \emph{Zone}.

\paragraph{Field: Ambient Temperature Outdoor Air Node Name}\label{field-ambient-temperature-outdoor-air-node-name}

This optional alpha field specifies the outdoor air node (\hyperref[outdoorairnode]{OutdoorAir:Node}) name used to define the ambient conditions surrounding the chilled water tank. This field is applicable only when the Ambient Temperature Indicator is specified as \emph{Exterior}, otherwise this field should be left blank. The node name specified must also be specified in an \hyperref[outdoorairnode]{OutdoorAir:Node} object where the height of the node is taken into consideration when calculating outdoor air conditions from the weather data. Alternately, the node name may be specified in an \hyperref[outdoorairnodelist]{OutdoorAir:NodeList} object where the outdoor air conditions are taken directly from the weather data.

\paragraph{Field: Heat Gain Coefficient from Ambient Temperature}\label{field-heat-gain-coefficient-from-ambient-temperature}

The gain coefficient {[}W/K{]} from the ambient air temperature. This coefficient is often referred to as the ``UA'' for the overall tank thermal performance with respect to heat gains from the tank's skin..

\paragraph{Field: Use Side Inlet Node Name}\label{field-use-side-inlet-node-name}

The inlet node connection to the plant loop for the use side of the chilled water storage tank. Typically the use side draws chilled water from the tank and returns warmer water.

\paragraph{Field: Use Side Outlet Node Name}\label{field-use-side-outlet-node-name}

The outlet node connection to the plant loop for the use side of the chilled water storage tank. Typically the use side chilled water from the tank and returns warmer water.

\paragraph{Field: Use Side Heat Transfer Effectiveness}\label{field-use-side-heat-transfer-effectiveness}

This field specifies the heat transfer effectiveness between the use side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the use side water and the tank water. If the effectiveness is lower, then the use side outlet water temperature will not be as cold as the tank water, simulating a heat exchanger.

\paragraph{Field: Use Side Availability Schedule Name}\label{field-use-side-availability-schedule-name}

This field contains the name of an availability schedule for the use side of the water tank. If the schedule's value is 0.0, then the use side is not available and flow will not be requested.~ If the schedule's value is note equal to 0.0 (usually 1 is used), the use side is available. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Use Side Design Flow Rate}\label{field-use-side-design-flow-rate}

This field is used to specify the design flow rate through the Use Side of the chilled water tank.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop connected to the Use side.~ Sizing results are reported in the EIO file.

\paragraph{Field: Source Side Inlet Node Name}\label{field-source-side-inlet-node-name-4}

The inlet node connection to the plant loop for the source side of the chilled water storage tank. Typically the source side draws somewhat warm water from the tank and returns colder water.~ The source side volume flow rate is obtained from the plant loop.~ The magnitude of the flow rates through the source side can be controlled by setting the Maximum Branch Flow Rate field in the BRANCH object that connects the source inlet node.

\paragraph{Field: Source Side Outlet Node Name}\label{field-source-side-outlet-node-name-4}

The outlet node connection to the plant loop for the source side of the chilled water storage tank. Typically the source side draws somewhat warm water from the tank and returns colder water.

\paragraph{Field: Source Side Heat Transfer Effectiveness}\label{field-source-side-heat-transfer-effectiveness}

This field specifies the heat transfer effectiveness between the source side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the source side water and the tank water. If the effectiveness is lower, then the source side outlet water temperature will not be as cold as the tank water, simulating a heat exchanger.

\paragraph{Field: Source Side Availability Schedule Name}\label{field-source-side-availability-schedule-name}

This field contains the name of an availability schedule for the source side of the water tank.~ If the schedule's value is 0.0, then the source side is not available and flow will not be requested.~ If the schedule's value is not equal to 0.0 (usually 1 is used), the source side is available. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Source Side Design Flow Rate}\label{field-source-side-design-flow-rate}

This field is used to specify the design flow rate through the Source Side of the chilled water tank.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Tank Recovery Time}\label{field-tank-recovery-time}

This field is used to autosize the Source Side Design Flow Rate.~ The field is used if the previous field is set to autosize and the water tank's source side is on the demand side of a plant loop.~ This the the time, in hours, that the chilled water tank is to be indirectly cooled from 14.4ºC to 9.0ºC using the exit temperature of in the associated Plant Sizing object.

An example input object follows.

\begin{lstlisting}
ThermalStorage:ChilledWater:Mixed,
  Chilled Water Storage Tank 1,  !- Name
  4.0,                        !- Tank Volume
  CW-Tank-Temp-Schedule,      !- Setpoint Temperature Schedule Name
  3.5,                        !- Deadband Temperature Difference
  1.0,                        !- Minimum Temperature Limit
  25000,                      !- Nominal Cooling Capacity
  Zone,                       !- Ambient Temperature Indicator
  ,                           !- Ambient Temperature Schedule Name
  ZN_1_FLR_1_SEC_5,           !- Ambient Temperature Zone Name
  ,                           !- Ambient Temperature Outdoor Air Node Name
  5.0,                        !- Heat Gain Coefficient from Ambient Temperature
  CW Tank Discharge Inlet node,  !- Use Side Inlet Node Name
  CW Tank Discharge Outlet node,  !- Use Side Outlet Node Name
  1.0,                        !- Use Side Effectiveness
  TES Use Schedule,           !- Use Side Availability Schedule Name
  Autosize,                   !- Use Side Design Flow Rate
  CW Tank Charge Inlet Node,  !- Source Side Inlet Node Name
  CW Tank Charge Outlet Node, !- Source Side Outlet Node Name
  1.0,                        !- Source Side Effectiveness
  TES Charge Schedule,        !- Source Side Availability Schedule Name
  Autosize,                   !- Source Side Design Flow Rate
  4.0;                        !- Tank Recovery Time
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-20-000}

The following output variables are reported for chilled water thermal storage tanks.

\begin{itemize}
\item
  Chilled Water Thermal Storage Tank Temperature~~~~~~~~~~~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Final Tank Temperature~~~~~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Tank Heat Gain Rate~~~~~~~~~~~~~~~~ !- HVAC Average {[}W{]}
\item
  Chilled Water Thermal Storage Tank Heat Gain Energy~~~~~~~~~~~~~~ !- HVAC Sum {[}J{]}
\item
  Chilled Water Thermal Storage Use Side Mass Flow Rate~~~~~~~~~~~~ !- HVAC Average {[}kg/s{]}
\item
  Chilled Water Thermal Storage Use Side Inlet Temperature~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Use Side Outlet Temperature~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Use Side Heat Transfer Rate~~~~~~~~~~~~~~~~~ !- HVAC Average {[}W{]}
\item
  Chilled Water Thermal Storage Use Side Heat Transfer Energy~~~~~~~~~~~~~~~ !- HVAC Sum {[}J{]}
\item
  Chilled Water Thermal Storage Source Side Mass Flow Rate~~~~~~~~~ !- HVAC Average {[}kg/s{]}
\item
  Chilled Water Thermal Storage Source Side Inlet Temperature~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Source Side Outlet Temperature !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Source Side Heat Transfer Rate~~~~~~~~~~~~~~ !- HVAC Average {[}W{]}
\item
  Chilled Water Thermal Storage Source Side Heat Transfer Energy~~~~~~~~~~~~ !- HVAC Sum {[}J{]}
\end{itemize}

\paragraph{Chilled Water Thermal Storage Tank Temperature {[}C{]}}\label{chilled-water-thermal-storage-tank-temperature-c}

The average water tank temperature.

\paragraph{Chilled Water Thermal Storage Final Tank Temperature {[}C{]}}\label{chilled-water-thermal-storage-final-tank-temperature-c}

The final water tank temperature at the end of the system timestep. If reported at the ``Detailed'' interval, this output variable can be used to verify an exact energy balance on the water storage tank.

\paragraph{Chilled Water Thermal Storage Tank Heat Gain Rate {[}W{]}}\label{chilled-water-thermal-storage-tank-heat-gain-rate-w}

The average heat exchange rate to the storage tank from the surrounding ambient.~ This is usually positive with surrounding ambient heating the storage tank.

\paragraph{Chilled Water Thermal Storage Tank Heat Gain Energy {[}J{]}}\label{chilled-water-thermal-storage-tank-heat-gain-energy-j}

The energy exchange to the storage tank from the surrounding ambient.~ This is usually positive with surrounding ambient heating the storage tank.

\paragraph{Chilled Water Thermal Storage Use Side Mass Flow Rate {[}kg/s{]}}\label{chilled-water-thermal-storage-use-side-mass-flow-rate-kgs}

The use side mass flow rate.

\paragraph{Chilled Water Thermal Storage Use Side Inlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-use-side-inlet-temperature-c}

The inlet temperature on the use side.

\paragraph{Chilled Water Thermal Storage Use Side Outlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-use-side-outlet-temperature-c}

The outlet temperature on the use side.

\paragraph{Chilled Water Thermal Storage Use Side Heat Transfer Rate {[}W{]}}\label{chilled-water-thermal-storage-use-side-heat-transfer-rate-w}

The average heat transfer rate between the use side water and the tank water.

\paragraph{Chilled Water Thermal Storage Use Side Heat Transfer Energy {[}J{]}}\label{chilled-water-thermal-storage-use-side-heat-transfer-energy-j}

The heat transfer energy between the use side water and the tank water.

\paragraph{Chilled Water Thermal Storage Source Side Mass Flow Rate {[}kg/s{]}}\label{chilled-water-thermal-storage-source-side-mass-flow-rate-kgs}

The source side mass flow rate.

\paragraph{Chilled Water Thermal Storage Source Side Inlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-source-side-inlet-temperature-c}

The inlet temperature on the source side.

\paragraph{Chilled Water Thermal Storage Source Side Outlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-source-side-outlet-temperature-c}

The outlet temperature on the source side.

\paragraph{Chilled Water Thermal Storage Source Side Heat Transfer Rate {[}W{]}}\label{chilled-water-thermal-storage-source-side-heat-transfer-rate-w}

The average heat transfer rate between the source side water and the tank water.

\paragraph{Chilled Water Thermal Storage Source Side Heat Transfer Energy {[}J{]}}\label{chilled-water-thermal-storage-source-side-heat-transfer-energy-j}

The heat transfer energy between the source side water and the tank water.

\subsection{ThermalStorage:ChilledWater:Stratified}\label{thermalstoragechilledwaterstratified}

The ThermalStorage:ChilledWater:Stratified object divides the water tank into multiple nodes of equal volume. The nodes are coupled by vertical conduction effects, internode fluid flow, and temperature inversion mixing. The object simultaneously solves the differential equations governing the energy balances on the nodes using a numerical method. The system timestep is divided into many small substeps that allow the simulation to capture events that occur on a very short time scale.~ The chilled water is ``used'' by drawing from the ``Use Side'' of the water tank.~ The tank is indirectly charged by circulating cold water through the ``Source Side'' of the water tank.

Control is based on cycling flow through the source side.~ When the tank temperature rises above a ``cut-in'' temperature, source side flow is requested.~ Source side flow will continue until the tank is cooled to below the tank set point or ``cut-out'' temperature.

For heat gains from the ambient environment, the ambient air temperature can be taken from a schedule, a zone, or the exterior. When used with a zone, the skin gains are removed from the zone heat balance as negative internal heat gains.

\subsubsection{Inputs}\label{inputs-23-003}

\paragraph{Field: Name}\label{field-name-23-001}

The unique name of the ThermalStorage:ChilledWater:Stratified object.

\paragraph{Field: Tank Volume}\label{field-tank-volume-1}

The volume of the thermal storage tank {[}m\(^{3}\){]}.

\paragraph{Field: Tank Height}\label{field-tank-height}

The height {[}m{]} of the tank. For the HorizontalCylinder shape (see below) the height of the tank is the measure in the axial direction, i.e., the height if you were to stand the cylinder up on its end.

\paragraph{Field: Tank Shape}\label{field-tank-shape}

The tank shape determines the size and skin losses of the stratified nodes. There are three options:~ ``VerticalCylinder,'' ``HorizontalCylinder,'' and ``Other.''

\emph{VerticalCylinder} describes most upright cylindrical water tanks.

\emph{HorizontalCylinder} describes a few specialty water tanks and some large commercial storage tanks. \emph{HorizontalCylinder} implies that the tank is divided into nodes of equal mass, but not equal height.

\emph{Other} describes water storage tanks that have a uniform horizontal cross-section, but are not cylinders, e.g., a cuboid or other shape. The length of the perimeter is then specified by the Tank Perimeter field.

If blank, the default shape is \emph{VerticalCylinder}.

\paragraph{Field: Tank Perimeter}\label{field-tank-perimeter}

The length of the tank perimeter {[}m{]}. This field is only used if Tank Shape is \emph{Other}.

\paragraph{Field: Setpoint Temperature Schedule Name}\label{field-setpoint-temperature-schedule-name-1}

The reference to the schedule object specifying the chilled water temperature setpoint {[}°C{]}. Also known as the ``cut-out'' temperature.

\paragraph{Field: Deadband Temperature Difference}\label{field-deadband-temperature-difference-1}

The delta temperature difference {[}Δ°C{]} between the setpoint and the ``cut-in'' temperature at which the storage tank will request cooling. In other words, the ``cut-in'' temperature is Setpoint + Deadband.

\paragraph{Field: Temperature Sensor Height}\label{field-temperature-sensor-height}

This field is used to describe the location in the tank where the temperature is sensed for control decisions.~ The program will associate one of the nodes with this height and use that node's temperature for control decisions.~ The location is described in meters from the bottom of the tank.

\paragraph{Field: Minimum Temperature Limit}\label{field-minimum-temperature-limit-1}

The temperature {[}°C{]} at which the tank water becomes too cold.~ No source side flow is allowed when the tank temperature is below this limit.~ The minimum temperature must be lower than the setpoint temperature at all times.

\paragraph{Field: Nominal Cooling Capacity}\label{field-nominal-cooling-capacity-3}

This field describes the typical cooling capacity that the chilled water tank will provide.~ Since this is a passive device, the actual cooling capacity depends on water temperatures and flow rates.~ However, this field is used to describe the chilled water tank's nominal cooling capacity for supervisory control where plant operation schemes require a cooling capacity to model how equipment is dispatched.

\paragraph{Field: Ambient Temperature Indicator}\label{field-ambient-temperature-indicator-1}

The Ambient Temperature Indicator specifies how the ambient air temperature will be indicated. The field can be ``Schedule'', ``Zone'', or ``Exterior.'' If \emph{Schedule} is used, the Ambient Temperature Schedule Name field provides the values for ambient temperature. If \emph{Zone} is used, the zone air temperature of the zone specified in the Ambient Temperature Zone field provides the ambient temperature. If \emph{Exterior} is used, the outdoor dry-bulb air temperature provides the ambient temperature.

\paragraph{Field: Ambient Temperature Schedule Name}\label{field-ambient-temperature-schedule-name-1}

The field contains the name of a schedule object specifying the ambient air temperature around the tank for skin gains. This field is only used if Ambient Temperature Indicator is \emph{Schedule}.

\paragraph{Field: Ambient Temperature Zone Name}\label{field-ambient-temperature-zone-name-1}

The reference to the zone object specifying the ambient air temperature around the tank for skin gains. This field is only used if Ambient Temperature Indicator is \emph{Zone}.

\paragraph{Field: Ambient Temperature Outside Air Node Name}\label{field-ambient-temperature-outside-air-node-name-000}

This optional alpha field specifies the outdoor air node name used to define the ambient conditions surrounding the chilled water tank. This field is applicable only when the Ambient Temperature Indicator is specified as \emph{Exterior}, otherwise this field should be left blank. The node name specified must also be specified in an \hyperref[outdoorairnode]{OutdoorAir:Node} object where the height of the node is taken into consideration when calculating outdoor air conditions from the weather data. Alternately, the node name may be specified in an \hyperref[outdoorairnodelist]{OutdoorAir:NodeList} object where the outdoor air conditions are taken directly from the weather data.

\paragraph{Field: Uniform Skin Loss Coefficient per Unit Area to Ambient Temperature}\label{field-uniform-skin-loss-coefficient-per-unit-area-to-ambient-temperature}

The uniform skin loss coefficient {[}W/m\(^{2}\)-K{]} or U-Value of the tank to the ambient air temperature. The uniform skin loss accounts for the tank insulation. The overall losses at any particular tank node can be further modified using the Additional Loss Coefficient fields to account for thermal shorting due to pipe penetrations, tank feet, and any other loss effects.

\paragraph{Field: Use Side Inlet Node Name}\label{field-use-side-inlet-node-name-1}

The inlet node connection to the plant loop for the use side of the chilled water storage tank. Typically the use side draws chilled water from the tank and returns warmer water.

\paragraph{Field: Use Side Outlet Node Name}\label{field-use-side-outlet-node-name-1}

The outlet node connection to the plant loop for the use side of the chilled water storage tank. Typically the use side chilled water from the tank and returns warmer water.

\paragraph{Field: Use Side Heat Transfer Effectiveness}\label{field-use-side-heat-transfer-effectiveness-1}

This field specifies the heat transfer effectiveness between the use side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the use side water and the tank water. If the effectiveness is lower, then the use side outlet water temperature will not be as cold as the tank water, simulating a heat exchanger.

\paragraph{Field: Use Side Availability Schedule Name}\label{field-use-side-availability-schedule-name-1}

This field contains the name of an availability schedule for the use side of the water tank.~ If the schedule's value is 0.0, then the use side is not available and flow will not be requested.~ If the schedule's value is not equal to 0.0 (usually 1 is used), then the use side is available. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Use Side Inlet Height}\label{field-use-side-inlet-height}

The height of the use side inlet to the tank. If blank, the inlet defaults to the top of the tank. The inlet height cannot be higher than the tank height.

\paragraph{Field: Use Side Outlet Height}\label{field-use-side-outlet-height}

The height of the use side outlet from the tank. If blank or \textbf{autocalculate}, the inlet defaults to the bottom of the tank. The outlet height cannot be higher than the tank height.

\paragraph{Field: Use Side Design Flow Rate}\label{field-use-side-design-flow-rate-1}

This field is used to specify the design flow rate through the Use Side of the water tank.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field is needed when the Use Side is connected to a plant loop.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Source Side Inlet Node Name}\label{field-source-side-inlet-node-name-5}

The inlet node connection to the plant loop for the source side of the chilled water storage tank. Typically the source side draws somewhat warm water from the tank and returns colder water.~ The source side volume flow rate is obtained from the plant loop.~ The magnitude of the flow rates through the source side can be controlled by setting the Maximum Branch Flow Rate field in the BRANCH object that connects the source inlet node.

\paragraph{Field: Source Side Outlet Node Name}\label{field-source-side-outlet-node-name-5}

The outlet node connection to the plant loop for the source side of the chilled water storage tank. Typically the source side draws somewhat warm water from the tank and returns colder water.

\paragraph{Field: Source Side Heat Transfer Effectiveness}\label{field-source-side-heat-transfer-effectiveness-1}

This field specifies the heat transfer effectiveness between the source side water and the tank water. If the effectiveness is set to 1 then complete heat transfer occurs, simulating perfect mixing of the source side water and the tank water. If the effectiveness is less than 1.0, then the source side outlet water temperature will be less than the tank water at the outlet node, simulating a heat exchanger.

\paragraph{Field: Source Side Availability Schedule Name}\label{field-source-side-availability-schedule-name-1}

This field contains the name of an availability schedule for the source side of the water tank.~ If the schedule's value is 0.0, then the source side is not available and flow will not be requested. If the schedule's value is not equal to 0.0 (usually 1 is used), then the source side is available. If this field is blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Source Side Inlet Height}\label{field-source-side-inlet-height}

The height of the source side inlet to the tank. If blank or \textbf{autocalculate}, the inlet defaults to the bottom of the tank. The inlet height cannot be higher than the tank height.

\paragraph{Field: Source Side Outlet Height}\label{field-source-side-outlet-height}

The height of the source side outlet from the tank. If blank, the inlet defaults to the top of the tank. The outlet height cannot be higher than the tank height.

\paragraph{Field: Source Side Design Flow Rate}\label{field-source-side-design-flow-rate-1}

This field is optional and is used to specify the design flow rate through the Source Side of the water heater.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The field is needed when the Source Side is connected to a plant loop.~ The field can be autosized.~ If autosized, then the input file should include a Plant Sizing object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Tank Recovery Time}\label{field-tank-recovery-time-1}

This field is used to autosize the Source Side Design Flow Rate.~ The field is used if the previous field is set to autosize and the water tank's source side is on the demand side of a plant loop.~ This the the time, in hours, that the chilled water tank is to be indirectly cooled from 14.4C to 9.0C using the exit temperature of in the associated Plant Sizing object.

\paragraph{Field: Inlet Mode}\label{field-inlet-mode}

The inlet mode of entering fluid from the use and source sides. There are two options:~ ``Fixed'' or ``Seeking.'' In \emph{Fixed} mode, the fluid enters at the fixed heights specified above. In \emph{Seeking} mode, the fluid ``seeks out'' the stratified node that is closest to the inlet temperature and adds all flow to that node. The \emph{Seeking} mode provides maximum stratification.

\paragraph{Field: Number of Nodes}\label{field-number-of-nodes}

The number of stratified nodes in the tank. There must be at least one node. The maximum number of nodes is 10.

\paragraph{Field: Additional Destratification Conductivity}\label{field-additional-destratification-conductivity}

An additional destratification conductivity {[}W/m-K{]} is added to the fluid conductivity of water (0.6 W/m-K) to account for vertical conduction effects along the inside of the tank wall, and perhaps other vertical components such as a dip tube pipe or anode rod.

\paragraph{Field: Node 1-10 Additional Loss Coefficient}\label{field-node-1-10-additional-loss-coefficient}

An additional heat gain coefficient {[}W/K{]} added to the skin gains for a given node to account for thermal shorting due to pipe penetrations, tank feet, and any other loss effects.

An example input object follows.

\begin{lstlisting}
ThermalStorage:ChilledWater:Stratified,
  Chilled Water Storage Tank 1,  !- Name
  4.0,                        !- Tank Volume
  2.0,                        !- Tank Height
  VerticalCylinder,           !- Tank Shape
  ,                           !- Tank Perimeter
  CW-Tank-Temp-Schedule,      !- Setpoint Temperature Schedule Name
  3.5,                        !- Deadband Temperature Difference
  1.4,                        !- Temperature Sensor Height
  1.0,                        !- Minimum Temperature Limit
  2500,                       !- Nominal Cooling Capacity
  Zone,                       !- Ambient Temperature Indicator
  ,                           !- Ambient Temperature Schedule Name
  ZN_1_FLR_1_SEC_5,           !- Ambient Temperature Zone Name
  ,                           !- Ambient Temperature OutdoorAir:Node Name
  4.2,                        !- Uniform Skin Loss Coefficient Per Unit Area To Ambient Temperature
  CW Tank Discharge Inlet node,  !- Use Side Inlet Node Name
  CW Tank Discharge Outlet node,  !- Use Side Outlet Node Name
  1.0,                        !- Use Side Effectiveness
  ALWAYS_ON,                  !- Use Side Availability Schedule Name
  1.85,                       !- Use Side Inlet Height
  0.15,                       !- Use Side Outlet Height
  autosize,                   !- Use Side Design Flow Rate
  CW Tank Charge Inlet Node,  !- Source Side Inlet Node Name
  CW Tank Charge Outlet Node, !- Source Side Outlet Node Name
  1.0,                        !- Source Side Effectiveness
  TES Charge Schedule,        !- Source Side Availability Schedule Name
  0.15,                       !- Source Side Inlet Height
  1.85,                       !- Source Side Outlet Height
  autosize,                   !- Source Side Design Flow Rate
  2.0,                        !- Tank Recovery Time
  Seeking,                    !- Inlet Mode
  6,                          !- Number Of Nodes
  0.0;                        !- Additional Destratification Conductivity
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-21-000}

The following output variables are reported for stratified chilled water thermal storage tanks.

\begin{itemize}
\item
  Chilled Water Thermal Storage Tank Temperature~~~~~~~~~~~~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Final Tank Temperature~~~~~~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Tank Heat Gain Rate~~~~~~~~~~~~~~~~~ !- HVAC Average {[}W{]}
\item
  Chilled Water Thermal Storage Tank Heat Gain Energy~~~~~~~~~~~~~~~ !- HVAC Sum {[}J{]}
\item
  Chilled Water Thermal Storage Use Side Mass Flow Rate~~~~~~~~~~~~~ !- HVAC Average {[}kg/s{]}
\item
  Chilled Water Thermal Storage Use Side Inlet Temperature~~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Use Side Outlet Temperature~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Use Side Heat Transfer Rate~~~~~~~~~~~~~~~~~~ !- HVAC Average {[}W{]}
\item
  Chilled Water Thermal Storage Use Side Heat Transfer Energy~~~~ ~~~~~~~~~~~~!- HVAC Sum {[}J{]}
\item
  Chilled Water Thermal Storage Source Side Mass Flow Rate~~~~~~~~~~ !- HVAC Average {[}kg/s{]}
\item
  Chilled Water Thermal Storage Source Side Inlet Temperature~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Source Side Outlet Temperature~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Source Side Heat Transfer Rate~~~~~~~~~~~~~~~ !- HVAC Average {[}W{]}
\item
  Chilled Water Thermal Storage Source Side Heat Transfer Energy~~~~~~~~~~~~~ !- HVAC Sum {[}J{]}
\item
  Chilled Water Thermal Storage Temperature Node \textless{}1 - 10\textgreater{}~~~~~~~ !- HVAC Average {[}C{]}
\item
  Chilled Water Thermal Storage Final Temperature Node \textless{}1 -- 10\textgreater{} !- HVAC Average {[}C{]}
\end{itemize}

\paragraph{Chilled Water Thermal Storage Tank Temperature {[}C{]}}\label{chilled-water-thermal-storage-tank-temperature-c-1}

The average water tank temperature, i.e., the average of all of the node average temperatures.

\paragraph{Chilled Water Thermal Storage Tank Final Temperature {[}C{]}}\label{chilled-water-thermal-storage-tank-final-temperature-c}

The final water tank temperature at the end of the system timestep, i.e., the average of all of the final node temperatures at the end of the system timestep.~ If reported at the ``Detailed'' interval, this output variable can be used to verify an exact energy balance on the water storage tank.

\paragraph{Chilled Water Thermal Storage Tank Heat Gain Rate {[}W{]}}\label{chilled-water-thermal-storage-tank-heat-gain-rate-w-1}

The average heat exchange rate to the storage tank from the surrounding ambient.~ This is usually positive with surrounding ambient heating the storage tank.

\paragraph{Chilled Water Thermal Storage Tank Heat Gain Energy {[}J{]}}\label{chilled-water-thermal-storage-tank-heat-gain-energy-j-1}

The energy exchange to the storage tank from the surrounding ambient.~ This is usually positive with surrounding ambient heating the storage tank.

\paragraph{Chilled Water Thermal Storage Use Side Mass Flow Rate {[}kg/s{]}}\label{chilled-water-thermal-storage-use-side-mass-flow-rate-kgs-1}

The use side mass flow rate.

\paragraph{Chilled Water Thermal Storage Use Side Inlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-use-side-inlet-temperature-c-1}

The inlet temperature on the use side.

\paragraph{Chilled Water Thermal Storage Use Side Outlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-use-side-outlet-temperature-c-1}

The outlet temperature on the use side.

\paragraph{Chilled Water Thermal Storage Use Side Heat Transfer Rate {[}W{]}}\label{chilled-water-thermal-storage-use-side-heat-transfer-rate-w-1}

The average heat transfer rate between the use side water and the tank water.

\paragraph{Chilled Water Thermal Storage Use Side Heat Transfer Energy {[}J{]}}\label{chilled-water-thermal-storage-use-side-heat-transfer-energy-j-1}

The heat transfer energy between the use side water and the tank water.

\paragraph{Chilled Water Thermal Storage Source Side Mass Flow Rate {[}kg/s{]}}\label{chilled-water-thermal-storage-source-side-mass-flow-rate-kgs-1}

The source side mass flow rate.

\paragraph{Chilled Water Thermal Storage Source Side Inlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-source-side-inlet-temperature-c-1}

The inlet temperature on the source side.

\paragraph{Chilled Water Thermal Storage Source Side Outlet Temperature {[}C{]}}\label{chilled-water-thermal-storage-source-side-outlet-temperature-c-1}

The outlet temperature on the source side.

\paragraph{Chilled Water Thermal Storage Source Side Heat Transfer Rate {[}W{]}}\label{chilled-water-thermal-storage-source-side-heat-transfer-rate-w-1}

The average heat transfer rate between the source side water and the tank water.

\paragraph{Chilled Water Thermal Storage Source Side Heat Transfer Energy {[}J{]}}\label{chilled-water-thermal-storage-source-side-heat-transfer-energy-j-1}

The heat transfer energy between the source side water and the tank water.

\paragraph{Chilled Water Thermal Storage Temperature Node~ 1-10 {[}C{]}}\label{chilled-water-thermal-storage-temperature-node-1-10-c}

The average node temperature.

\paragraph{Chilled Water Thermal Storage Final Temperature Node 1-10~ {[}C{]}}\label{chilled-water-thermal-storage-final-temperature-node-1-10-c}

The final node temperature at the end of the system timestep.

\subsection{ThermalStorage:HotWater:Stratified}\label{thermalstoragehotwaterstratified}

The ThermalStorage:HotWater:Stratified object divides the water tank into
multiple nodes of equal volume. The nodes are coupled by vertical conduction
effects, internode fluid flow, and temperature inversion mixing. The object
simultaneously solves the differential equations governing the energy balances
on the nodes using a numerical method. The system timestep is divided into many
small substeps that allow the simulation to capture events that occur on a very
short time scale.~ The hot water is ``used'' by drawing from the ``Use Side'' of
the water tank.~ The tank is indirectly charged by circulating hot water through
the ``Source Side'' of the water tank.

Control is based on cycling flow through the source side.~ When the tank
temperature measured by a temperature sensor on top of the tank or the bottom
temperature measured by a temperature sensor at the bottom of the tank rises
above their corresponding ``cut-in'' temperature, source side flow is
requested.~ Source side flow will continue until the tank is cooled to below the
tank set point or ``cut-out'' temperature.

For heat gains from the ambient environment, the ambient air temperature can be
taken from a schedule, a zone, or the exterior. When used with a zone, the skin
gains are removed from the zone heat balance as negative internal heat gains.

\subsubsection{Inputs}\label{inputs-thermalstoragehotwaterstratified}

\paragraph{Field: Name}\label{field-name-thermalstoragehotwaterstratified}
The name of the ThermalStorage:HotWater:Stratified object.
\paragraph{Field: Tank Volume}
The volume of the storage tank in m3.
\paragraph{Field: Tank Height}
The height of the storage tank in m. It is measured in the axial direction for horizontal cylinders. The value needs to be greater than 0.0.
\paragraph{Field: Tank Shape}\label{field-tank-shape-thermalstoragehotwaterstratified}
The tank shape determines the size and skin losses of the stratified nodes. There are three options:~ ``VerticalCylinder,'' ``HorizontalCylinder,'' and ``Other.''

\emph{VerticalCylinder} describes most upright cylindrical water tanks.

\emph{HorizontalCylinder} describes a few specialty water tanks and some large
commercial storage tanks. \emph{HorizontalCylinder} implies that the tank is
divided into nodes of equal mass, but not equal height.

\emph{Other} describes water storage tanks that have a uniform horizontal
cross-section, but are not cylinders, e.g., a cuboid or other shape. The length
of the perimeter is then specified by the Tank Perimeter field.

If blank, the default shape is \emph{VerticalCylinder}.

\paragraph{Field: Tank Perimeter}\label{field-tank-perimeter-thermalstoragehotwaterstratified}

The length of the tank perimeter {[}m{]}. This field is only used if Tank Shape
is \emph{Other}.
\paragraph{Field: Top Setpoint Temperature Schedule Name}
The reference to the schedule object specifying the hot water temperature
setpoint {[}°C{]} for a sensor on top of the tank. Also known as the top
``cut-out'' temperature.
\paragraph{Field: Bottom Setpoint Temperature Schedule Name}
The reference to the schedule object specifying the chilled water temperature
setpoint {[}°C{]} for a sensor on the bottom of the tank. Also known as the
bottom ``cut-out'' temperature.
\paragraph{Field: Deadband Temperature Difference}\label{field-deadband-temperature-difference-thermalstoragehotwaterstratified}
The delta temperature difference {[}Δ°C{]} between the setpoint and the
``cut-in'' temperature at which the storage tank will request heating. In other
words, the ``cut-in'' temperature is Setpoint + Deadband for the top and
Setpoint - Deadband for the bottom. Assumes that the top and bottom use the same
deadband temperature difference.
\paragraph{Field: Top Temperature Sensor Height}\label{field-top-temperature-sensor-height-thermalstoragehotwaterstratified}
This and the following fields are used to describe the location in the tank where the temperature is
sensed for control decisions.~ The program will associate one of the nodes with
this height and use that node's temperature for control decisions.~ The location
is described in meters from the bottom of the tank.
This field is the height of the temperature sensor on top of the tank.
\paragraph{Field: Bottom Temperature Sensor Height}\label{field-bottom-temperature-sensor-height-thermalstoragehotwaterstratified}
This field is the height of the temperature sensor on the bottom of the tank.
\paragraph{Field: Maximum Temperature Limit}\label{field-maximum-temperature-limit-thermalstoragehotwaterstratified}
The temperature {[}°C{]} at which the tank water becomes too hot.~ No source
side flow is allowed when the tank temperature is above this limit.~ The maximum
temperature must be higher than the top setpoint temperature at all times.
This field describes the typical cooling capacity that the chilled water tank will provide.~ Since this is a passive device, the actual cooling capacity depends on water temperatures and flow rates.~ However, this field is used to describe the chilled water tank's nominal cooling capacity for supervisory control where plant operation schemes require a cooling capacity to model how equipment is dispatched.

\paragraph{Field: Ambient Temperature
Indicator}\label{field-ambient-temperature-indicator-thermalstoragehotwaterstratified}

The Ambient Temperature Indicator specifies how the ambient air temperature will
be indicated. The field can be ``Schedule'', ``Zone'', or ``Exterior.'' If
\emph{Schedule} is used, the Ambient Temperature Schedule Name field provides
the values for ambient temperature. If \emph{Zone} is used, the zone air
temperature of the zone specified in the Ambient Temperature Zone field provides
the ambient temperature. If \emph{Exterior} is used, the outdoor dry-bulb air
temperature provides the ambient temperature.

\paragraph{Field: Ambient Temperature Schedule
Name}\label{field-ambient-temperature-schedule-name-thermalstoragehotwaterstratified}

The field contains the name of a schedule object specifying the ambient air
temperature around the tank for skin gains. This field is only used if Ambient
Temperature Indicator is \emph{Schedule}.

\paragraph{Field: Ambient Temperature Zone
Name}\label{field-ambient-temperature-zone-name-thermalstoragehotwaterstratified}

The reference to the zone object specifying the ambient air temperature around
the tank for skin gains. This field is only used if Ambient Temperature
Indicator is \emph{Zone}.

\paragraph{Field: Ambient Temperature Outside Air Node
Name}\label{field-ambient-temperature-outside-air-node-name-thermalstoragehotwaterstratified}

This optional alpha field specifies the outdoor air node name used to define the
ambient conditions surrounding the chilled water tank. This field is applicable
only when the Ambient Temperature Indicator is specified as \emph{Exterior},
otherwise this field should be left blank. The node name specified must also be
specified in an \hyperref[outdoorairnode]{OutdoorAir:Node} object where the
height of the node is taken into consideration when calculating outdoor air
conditions from the weather data. Alternately, the node name may be specified in
an \hyperref[outdoorairnodelist]{OutdoorAir:NodeList} object where the outdoor
air conditions are taken directly from the weather data.

\paragraph{Field: Uniform Skin Loss Coefficient per Unit Area to Ambient
Temperature}\label{field-uniform-skin-loss-coefficient-per-unit-area-to-ambient-temperature-thermalstoragehotwaterstratified}

The uniform skin loss coefficient {[}W/m\(^{2}\)-K{]} or U-Value of the tank to
the ambient air temperature. The uniform skin loss accounts for the tank
insulation. The overall losses at any particular tank node can be further
modified using the Additional Loss Coefficient fields to account for thermal
shorting due to pipe penetrations, tank feet, and any other loss effects.

\paragraph{Field: Use Side Inlet Node
Name}\label{field-use-side-inlet-node-name-thermalstoragehotwaterstratified}

The inlet node connection to the plant loop for the use side of the chilled
water storage tank. Typically the use side draws chilled water from the tank and
returns warmer water.

\paragraph{Field: Use Side Outlet Node
Name}\label{field-use-side-outlet-node-name-thermalstoragehotwaterstratified}

The outlet node connection to the plant loop for the use side of the chilled
water storage tank. Typically the use side chilled water from the tank and
returns warmer water.

\paragraph{Field: Use Side Heat Transfer
Effectiveness}\label{field-use-side-heat-transfer-effectiveness-thermalstoragehotwaterstratified}

This field specifies the heat transfer effectiveness between the use side water
and the tank water. If the effectiveness is set to 1 then complete heat transfer
occurs, simulating perfect mixing of the use side water and the tank water. If
the effectiveness is lower, then the use side outlet water temperature will not
be as cold as the tank water, simulating a heat exchanger.

\paragraph{Field: Use Side Availability Schedule
Name}\label{field-use-side-availability-schedule-name-thermalstoragehotwaterstratified}

This field contains the name of an availability schedule for the use side of the
water tank.~ If the schedule's value is 0.0, then the use side is not available
and flow will not be requested.~ If the schedule's value is not equal to 0.0
(usually 1 is used), then the use side is available. If this field is blank, the
schedule has values of 1 for all time periods.

\paragraph{Field: Use Side Inlet Height}\label{field-use-side-inlet-height-thermalstoragehotwaterstratified}

The height of the use side inlet to the tank. If blank, the inlet defaults to
the top of the tank. The inlet height cannot be higher than the tank height.

\paragraph{Field: Use Side Outlet Height}\label{field-use-side-outlet-height-thermalstoragehotwaterstratified}

The height of the use side outlet from the tank. If blank or
\textbf{autocalculate}, the inlet defaults to the bottom of the tank. The outlet
height cannot be higher than the tank height.

\paragraph{Field: Use Side Design Flow
Rate}\label{field-use-side-design-flow-rate-thermalstoragehotwaterstratified}

This field is used to specify the design flow rate through the Use Side of the
water tank.~ The volumetric design flow rate is specified in m\(^{3}\)/s.~ The
field is needed when the Use Side is connected to a plant loop.~ The field can
be autosized.~ If autosized, then the input file should include a Plant Sizing
object for the plant loop.~ Sizing results are reported in the EIO file.

\paragraph{Field: Source Side Inlet Node
Name}\label{field-source-side-inlet-node-name-thermalstoragehotwaterstratified}

The inlet node connection to the plant loop for the source side of the chilled
water storage tank. Typically the source side draws somewhat warm water from the
tank and returns colder water.~ The source side volume flow rate is obtained
from the plant loop.~ The magnitude of the flow rates through the source side
can be controlled by setting the Maximum Branch Flow Rate field in the BRANCH
object that connects the source inlet node.

\paragraph{Field: Source Side Outlet Node
Name}\label{field-source-side-outlet-node-name-thermalstoragehotwaterstratified}

The outlet node connection to the plant loop for the source side of the chilled
water storage tank. Typically the source side draws somewhat warm water from the
tank and returns colder water.

\paragraph{Field: Source Side Heat Transfer
Effectiveness}\label{field-source-side-heat-transfer-effectiveness-thermalstoragehotwaterstratified}

This field specifies the heat transfer effectiveness between the source side
water and the tank water. If the effectiveness is set to 1 then complete heat
transfer occurs, simulating perfect mixing of the source side water and the tank
water. If the effectiveness is less than 1.0, then the source side outlet water
temperature will be less than the tank water at the outlet node, simulating a
heat exchanger.

\paragraph{Field: Source Side Availability Schedule
Name}\label{field-source-side-availability-schedule-name-thermalstoragehotwaterstratified}

This field contains the name of an availability schedule for the source side of
the water tank.~ If the schedule's value is 0.0, then the source side is not
available and flow will not be requested. If the schedule's value is not equal
to 0.0 (usually 1 is used), then the source side is available. If this field is
blank, the schedule has values of 1 for all time periods.

\paragraph{Field: Source Side Inlet
Height}\label{field-source-side-inlet-height-thermalstoragehotwaterstratified}

The height of the source side inlet to the tank. If blank or
\textbf{autocalculate}, the inlet defaults to the bottom of the tank. The inlet
height cannot be higher than the tank height.

\paragraph{Field: Source Side Outlet
Height}\label{field-source-side-outlet-height-thermalstoragehotwaterstratified}

The height of the source side outlet from the tank. If blank, the inlet defaults
to the top of the tank. The outlet height cannot be higher than the tank height.

\paragraph{Field: Source Side Design Flow
Rate}\label{field-source-side-design-flow-rate-thermalstoragehotwaterstratified}

This field is optional and is used to specify the design flow rate through the
Source Side of the water heater.~ The volumetric design flow rate is specified
in m\(^{3}\)/s.~ The field is needed when the Source Side is connected to a
plant loop.~ The field can be autosized.~ If autosized, then the input file
should include a Plant Sizing object for the plant loop.~ Sizing results are
reported in the EIO file.

\paragraph{Field: Tank Recovery Time}\label{field-tank-recovery-time-thermalstoragehotwaterstratified}

This field is used to autosize the Source Side Design Flow Rate.~ The field is
used if the previous field is set to autosize and the water tank's source side
is on the demand side of a plant loop.~ This the the time, in hours, that the
chilled water tank is to be indirectly cooled from 14.4C to 9.0C using the exit
temperature of in the associated Plant Sizing object.

\paragraph{Field: Inlet Mode}\label{field-inlet-mode-thermalstoragehotwaterstratified}

The inlet mode of entering fluid from the use and source sides. There are two
options:~ ``Fixed'' or ``Seeking.'' In \emph{Fixed} mode, the fluid enters at
the fixed heights specified above. In \emph{Seeking} mode, the fluid ``seeks
out'' the stratified node that is closest to the inlet temperature and adds all
flow to that node. The \emph{Seeking} mode provides maximum stratification.

\paragraph{Field: Number of Nodes}\label{field-number-of-nodes-thermalstoragehotwaterstratified}

The number of stratified nodes in the tank. There must be at least one node. The
maximum number of nodes is 10.

\paragraph{Field: Additional Destratification
Conductivity}\label{field-additional-destratification-conductivity-thermalstoragehotwaterstratified}

An additional destratification conductivity {[}W/m-K{]} is added to the fluid
conductivity of water (0.6 W/m-K) to account for vertical conduction effects
along the inside of the tank wall, and perhaps other vertical components such as
a dip tube pipe or anode rod.

\paragraph{Field: Node 1-10 Additional Loss
Coefficient}\label{field-node-1-10-additional-loss-coefficient-thermalstoragehotwaterstratified}

An additional heat gain coefficient {[}W/K{]} added to the skin gains for a
given node to account for thermal shorting due to pipe penetrations, tank feet,
and any other loss effects.

An example input object follows.

\begin{lstlisting}
ThermalStorage:HotWater:Stratified,
  Hot Water Storage Tank,     !- Name
  50.0,                       !- Tank Volume {m3}
  8.0,                        !- Tank Height {m}
  VerticalCylinder,           !- Tank Shape
  ,                           !- Tank Perimeter {m}
  CW Tank Temp Top Schedule,  !- Top Setpoint Temperature Schedule Name
  CW Tank Temp Bottom Schedule,  !- Bottom Setpoint Temperature Schedule Name
  2.5,                        !- Deadband Temperature Difference {deltaC}
  8.0,                        !- Top Temperature Sensor Height {m}
  1.0,                        !- Bottom Temperature Sensor Height {m}
  82.0,                       !- Maximum Temperature Limit {C}
  0.0,                        !- Nominal Heating Capacity {W}
  Outdoors,                   !- Ambient Temperature Indicator
  ,                           !- Ambient Temperature Schedule Name
  ,                           !- Ambient Temperature Zone Name
  Dummy Tank OA Node,         !- Ambient Temperature Outdoor Air Node Name
  0.0,                        !- Uniform Skin Loss Coefficient per Unit Area to Ambient Temperature {W/m2-K}
  Tank Use Inlet Node,        !- Use Side Inlet Node Name
  Tank Use Outlet Node,       !- Use Side Outlet Node Name
  ,                           !- Use Side Flow Direction Schedule
  1.0,                        !- Use Side Heat Transfer Effectiveness
  ALWAYS_ON,                  !- Use Side Availability Schedule Name
  0.15,                       !- Use Side Inlet Height {m}
  7.85,                       !- Use Side Outlet Height {m}
  autosize,                   !- Use Side Design Flow Rate {m3/s}
  Tank Source Inlet Node,     !- Source Side Inlet Node Name
  Tank Source Outlet Node,    !- Source Side Outlet Node Name
  ,                           !- Use Side Flow Direction Schedule
  0.9,                        !- Source Side Heat Transfer Effectiveness
  TES Charge Schedule,        !- Source Side Availability Schedule Name
  7.85,                       !- Source Side Inlet Height {m}
  0.15,                       !- Source Side Outlet Height {m}
  5.0E-3,                     !- Source Side Design Flow Rate {m3/s}
  4.0,                        !- Tank Recovery Time {hr}
  Seeking,                    !- Inlet Mode
  6,                          !- Number of Nodes
  0.0;                        !- Additional Destratification Conductivity {W/m-K}
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-thermalstoragehotwaterstratified}

The following output variables are reported for stratified hot water thermal storage tanks.

\begin{itemize}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Tank Temperature,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Heat Gain Rate,hourly; !- HVAC Average {[}W{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Heat Gain Energy,hourly; !- HVAC Sum {[}J{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Use Side Mass Flow Rate,hourly; !- HVAC Average {[}kg/s{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Use Side Inlet Temperature,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Use Side Outlet Temperature,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Use Side Heat Transfer Rate,hourly; !- HVAC Average {[}W{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Use Side Heat Transfer Energy,hourly; !- HVAC Sum {[}J{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Source Side Mass Flow Rate,hourly; !- HVAC Average {[}kg/s{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Source Side Inlet Temperature,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Source Side Outlet Temperature,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Source Side Heat Transfer Rate,hourly; !- HVAC Average {[}W{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Source Side Heat Transfer Energy,hourly; !- HVAC Sum {[}J{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature Node 1,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature Node 2,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature Node 3,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature Node 4,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature Node 5,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Temperature Node 6,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Temperature Node 1,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Temperature Node 2,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Temperature Node 3,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Temperature Node 4,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Temperature Node 5,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Final Temperature Node 6,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Top Temperature Setpoint,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Top Temperature Sensor Value,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Bottom Temperature Setpoint,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Bottom Temperature Sensor Value,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Needs Charge,hourly; !- HVAC Average {[}C{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Source Side Flow Direction,hourly; !- HVAC Average {[}{]}
\item Output:Variable,*,Hot Water Thermal Storage Tank Use Side Flow Direction,hourly; !- HVAC Average {[}{]}
\end{itemize}
\paragraph{Hot Water Thermal Storage Tank Temperature
{[}C{]}}\label{hot-water-thermal-storage-tank-temperature-thermalstoragehotwaterstratified}

The average water tank temperature, i.e., the average of all of the node average
temperatures.

\paragraph{Hot Water Thermal Storage Tank Final Temperature
{[}C{]}}\label{hot-water-thermal-storage-tank-final-temperature-thermalstoragehotwaterstratified}

The final water tank temperature at the end of the system timestep, i.e., the
average of all of the final node temperatures at the end of the system
timestep.~ If reported at the ``Detailed'' interval, this output variable can be
used to verify an exact energy balance on the water storage tank.

\paragraph{Hot Water Thermal Storage Tank Heat Gain Rate
{[}W{]}}\label{hot-water-thermal-storage-tank-heat-gain-rate-thermalstoragehotwaterstratified}

The average heat exchange rate to the storage tank from the surrounding
ambient.~ This is usually positive with surrounding ambient heating the storage
tank.

\paragraph{Hot Water Thermal Storage Tank Heat Gain Energy
{[}J{]}}\label{hot-water-thermal-storage-tank-heat-gain-energy-thermalstoragehotwaterstratified}

The energy exchange to the storage tank from the surrounding ambient.~ This is
usually positive with surrounding ambient heating the storage tank.

\paragraph{Hot Water Thermal Storage Tank Use Side Mass Flow Rate
{[}kg/s{]}}\label{hot-water-thermal-storage-use-side-mass-flow-rate-thermalstoragehotwaterstratified}

The use side mass flow rate.

\paragraph{Hot Water Thermal Storage Tank Use Side Inlet Temperature
{[}C{]}}\label{hot-water-thermal-storage-use-side-inlet-temperature-thermalstoragehotwaterstratified}

The inlet temperature on the use side.

\paragraph{Hot Water Thermal Storage Tank Use Side Outlet Temperature
{[}C{]}}\label{hot-water-thermal-storage-use-side-outlet-temperature-thermalstoragehotwaterstratified}

The outlet temperature on the use side.

\paragraph{Hot Water Thermal Storage Tank Use Side Heat Transfer Rate
{[}W{]}}\label{hot-water-thermal-storage-use-side-heat-transfer-rate-thermalstoragehotwaterstratified}

The average heat transfer rate between the use side water and the tank water.

\paragraph{Hot Water Thermal Storage Tank Use Side Heat Transfer Energy
{[}J{]}}\label{hot-water-thermal-storage-use-side-heat-transfer-energy-thermalstoragehotwaterstratified}

The heat transfer energy between the use side water and the tank water.

\paragraph{Hot Water Thermal Storage Tank Source Side Mass Flow Rate
{[}kg/s{]}}\label{hot-water-thermal-storage-source-side-mass-flow-rate-thermalstoragehotwaterstratified}

The source side mass flow rate.

\paragraph{Hot Water Thermal Storage Tank Source Side Inlet Temperature
{[}C{]}}\label{hot-water-thermal-storage-source-side-inlet-temperature-thermalstoragehotwaterstratified}

The inlet temperature on the source side.

\paragraph{Hot Water Thermal Storage Tank Source Side Outlet Temperature
{[}C{]}}\label{hot-water-thermal-storage-source-side-outlet-temperature-thermalstoragehotwaterstratified}

The outlet temperature on the source side.

\paragraph{Hot Water Thermal Storage Tank Source Side Heat Transfer Rate
{[}W{]}}\label{hot-water-thermal-storage-source-side-heat-transfer-rate-thermalstoragehotwaterstratified}

The average heat transfer rate between the source side water and the tank water.

\paragraph{Hot Water Thermal Storage Tank Source Side Heat Transfer Energy
{[}J{]}}\label{hot-water-thermal-storage-source-side-heat-transfer-energy-thermalstoragehotwaterstratified}

The heat transfer energy between the source side water and the tank water.

\paragraph{Hot Water Thermal Storage Tank Temperature Node~ 1-10
{[}C{]}}\label{hot-water-thermal-storage-temperature-node-1-10-thermalstoragehotwaterstratified}

The average node temperature.

\paragraph{Hot Water Thermal Storage Tank Final Tank Temperature Node 1-10~
{[}C{]}}\label{hot-water-thermal-storage-final-temperature-node-1-10-thermalstoragehotwaterstratified}

The final node temperature at the end of the system timestep.

\paragraph{Hot Water Thermal Storage Tank Top Temperature Setpoint}\label{hot-water-thermal-storage-top-temperature-setpoint-thermalstoragehotwaterstratified}

The top temperature setpoint temperature for the tank.

\paragraph{Hot Water Thermal Storage Tank Top Temperature Sensor Value}\label{hot-water-thermal-storage-top-temperature-sensor-value-thermalstoragehotwaterstratified}

The top temperature sensor value for the tank.

\paragraph{Hot Water Thermal Storage Tank Bottom Temperature Setpoint}\label{hot-water-thermal-storage-bottom-temperature-setpoint-thermalstoragehotwaterstratified}

The bottom temperature setpoint temperature for the tank.

\paragraph{Hot Water Thermal Storage Tank Bottom Temperature Sensor Value}\label{hot-water-thermal-storage-bottom-temperature-sensor-value-thermalstoragehotwaterstratified}

The bottom temperature sensor value for the tank.

\paragraph{Hot Water Thermal Storage Tank Needs Charge}\label{hot-water-thermal-storage-needs-charge-thermalstoragehotwaterstratified}

Whether the tank needs to be charged or not. This is a boolean value that is 1
if the tank needs to be charged, and 0 if it does not.

\paragraph{Hot Water Thermal Storage Tank Source Side Flow Direction}\label{hot-water-thermal-storage-source-side-flow-direction-thermalstoragehotwaterstratified}

The flow direction of the source side water. This is a numeric value that is 1
if the flow is from the source side inlet to the source side outlet, and -1 if
the flow is from the source side outlet to the source side inlet.

\paragraph{Hot Water Thermal Storage Tank Use Side Flow Direction}\label{hot-water-thermal-storage-use-side-flow-direction-thermalstoragehotwaterstratified}

The flow direction of the use side water. This is a numeric value that is 1 if
the flow is from the use side inlet to the use side outlet, and -1 if the flow
is from the use side outlet to the use side inlet.

\subsection{ThermalStorage:PCM}\label{thermalstoragepcm}

The \textbf{ThermalStorage:PCM} object models a phase‐change material (PCM) thermal‐storage tank.  Unlike a simple chilled‐water tank, this device stores and releases energy primarily through the PCM’s latent heat.  It connects to two plant loops: a \emph{plant side} for charging the PCM (melting it) and a \emph{use side} for discharging the PCM (freezing it).  Energy transfer is assumed to occur through an internal heat exchanger with a user‑specified effectiveness.  Charging occurs whenever heat is removed from the plant side stream (i.e., the stream is cooled); discharging occurs whenever heat is added to the use side stream (i.e., the stream is heated).  Availability of the unit is controlled by an optional schedule.

\subsubsection{Inputs}\label{inputs-pcmstorage}

\paragraph{Field: Name}\label{field-pcmstorage-name}

The unique name of the \emph{ThermalStorage:PCM} object.

\paragraph{Field: Availability Schedule Name}\label{field-pcmstorage-availability-schedule-name}

The name of a schedule that controls when the PCM storage unit is available.  If the schedule value is 0.0 the tank is unavailable and requests no flow.  If omitted, the tank is always available.

\paragraph{Field: PCM Material Name}\label{field-pcmstorage-pcm-material-name}

The name of a material defined in the \emph{Material} object that has phase‐change properties (\lstinline!MaterialProperty:PhaseChangeHysteresis = Yes!).  This material provides the melting/freezing temperature and latent heat used in the simulation.

\paragraph{Field: Tank Capacity}\label{field-pcmstorage-tank-capacity}

The mass of phase‐change material contained in the tank \([kg]\).  The PCM’s latent heat and this mass determine the total energy storage capacity.  This field may be \emph{autosized}; if set to \texttt{Autosize} or zero, the capacity is determined at runtime based on the connected plant flows and assumed hold time.

\paragraph{Field: Heat Loss Rate}\label{field-pcmstorage-heat-loss-rate}

A constant heat‐loss rate to the ambient \([W]\).  This represents parasitic losses to the surroundings.  A positive value removes energy from the storage tank each timestep.

\paragraph{Field: Heat Transfer Effectiveness}\label{field-pcmstorage-effectiveness}

The heat‐exchanger effectiveness between the PCM and the circulating water.  A value of 1.0 assumes perfect heat transfer (complete mixing); lower values model a finite‐effectiveness heat exchanger.  The default is 0.9.

\paragraph{Field: Plant Side Inlet Node Name}\label{field-pcmstorage-plant-side-inlet-node-name}

The inlet node on the plant loop for the charging side of the PCM storage tank.

\paragraph{Field: Plant Side Outlet Node Name}\label{field-pcmstorage-plant-side-outlet-node-name}

The outlet node on the plant loop for the charging side of the PCM storage tank.

\paragraph{Field: Use Side Inlet Node Name}\label{field-pcmstorage-use-side-inlet-node-name}

The inlet node on the plant loop for the discharging side of the PCM storage tank.

\paragraph{Field: Use Side Outlet Node Name}\label{field-pcmstorage-use-side-outlet-node-name}

The outlet node on the plant loop for the discharging side of the PCM storage tank.

\paragraph{Field: Use Side Design Flow Rate}\label{field-pcmstorage-use-side-design-flow-rate}

The design volumetric flow rate through the use side of the PCM tank \([m^3/s]\).  This field may be autosized.  When autosized, a \emph{Sizing:Plant} object should be provided for the loop connected to the use side.  Results are reported in the EIO file.

\paragraph{Field: Plant Side Design Flow Rate}\label{field-pcmstorage-plant-side-design-flow-rate}

The design volumetric flow rate through the plant side of the PCM tank \([m^3/s]\).  This field may be autosized.  When autosized, a \emph{Sizing:Plant} object should be provided for the loop connected to the plant side.  Results are reported in the EIO file.

\paragraph{Example}\label{example-pcmstorage}
\begin{lstlisting}
ThermalStorage:PCM,
  PCM Tank,                   !- Name
  ALWAYS_ON,                  !- Availability Schedule Name
  MICROCHP SENEF,             !- Plant Side Inlet Node Name
  MICROCHP SENEF,             !- Plant Side Outlet Node Name
  PCM Inlet Node,             !- Use Side Inlet Node Name
  PCM Outlet Node,            !- Use Side Outlet Node Name
  PCM_Material,               !- PCM Material Name
  400,                        !- Tank Capacity {kg}
  25,                         !- Heat Loss Rate {W}
  autosize,                   !- Use Side Design Flow Rate {m3/s}
  autosize;                   !- Plant Side Design Flow Rate {m3/s}
\end{lstlisting}

\subsection{ThermalStorage:Sizing}\label{thermalstoragesizing}

This thermal storage model is able to autosize the required storage capacity in cetain instances.~
The ThermalStorage:Sizing object defines the time period on the peak day that thermal storage is active. A start and end time is used to integrate the plant load over this time period to calculate the on peak energy during that time period. This calculation uses the Sizing:Plant exit water temperature to calculate the specific heat and density of water, and the plant delta T as the temperature difference across the storage tank. The sum of the plant water flow rate over the on peak time period is multiplied by the density and specific heat of water and the plant sizing delta T, along with a conversion for seconds in hour of 3600. The end result is joules of energy required by the storage tank. These calculations therefore require the following inputs:

The input fields for the object are described in detail below:

\subsubsection{Inputs}\label{inputs-20-103}

\paragraph{Field: Name}\label{field-name-20-104}

This alpha field contains the identifying name for the ice storage tank. This name will be entered in the corresponding ThermalStorage:Ice:Simple or ThermalStorage:Ice:Detailed objects in the field named Thermal Storage Sizing Object Name.

\paragraph{Field: On Peak Period Start Time}\label{field-on-peak-period-start-time}

This numeric field specifies the time of day the utility's on peak period begins. The value represents hours as a decimal time (e.g., 12.5 represents 12:30 PM).

\paragraph{Field: On Peak Period End Time}\label{field-on-peak-period-end-time}

This numeric field specifies the time of day the utility's on peak period ends. The value represents hours as a decimal time (e.g., 21.0 represents 9:00 PM).

\paragraph{Field: Sizing Factor}\label{field-sizing-factor-20-105}

This numeric field specifies the fraction of the on peak energy to be met by the thermal storage tank. If the storage tank is upstream of a chiller and the chiller operates at the same time as the tank then then tank could be downsized according to this fraction. The fraction may also be greater than 1.0 to fine tune the storage capacity size. The default value is 1.0 if this field is not entered or is blank.

And example IDF object:

\begin{lstlisting}
ThermalStorage:Sizing,
  ThermalStorageSizing,       !- Name
  12.0,                       !- On Peak Period Start Time {hr}
  21.0,                       !- On Peak Period End Time {hr}
  0.5;                        !- Sizing Factor
\end{lstlisting}

\subsubsection{Outputs}\label{outputs-pcmstorage}

The following output variables are reported for phase‐change thermal‐storage tanks:

\begin{itemize}
\item
  Thermal Energy Storage Percent Capacity~~~~~~~~ !- HVAC Average [–]
\item
  Thermal Energy Storage Heat Loss Rate~~~~~~~~~~ !- HVAC Average [W]
\item
  Thermal Energy Storage Energy Stored~~~~~~~~~~~~ !- HVAC Average [J]
\item
  Thermal Energy Storage Tank Temperature~~~~~~~~~ !- HVAC Average [°C]
\item
  Thermal Energy Storage Use Side Heat Transfer Rate~~~~ !- HVAC Average [W]
\item
  Thermal Energy Storage Plant Side Heat Transfer Rate~~~ !- HVAC Average [W]
\item
  Thermal Energy Storage Use Side Inlet Temperature~~~~~~ !- HVAC Average [°C]
\item
  Thermal Energy Storage Use Side Outlet Temperature~~~~~ !- HVAC Average [°C]
\item
  Thermal Energy Storage Use Side Mass Flow Rate~~~~~~~~~ !- HVAC Average [kg/s]
\item
  Thermal Energy Storage Plant Side Inlet Temperature~~~~~ !- HVAC Average [°C]
\item
  Thermal Energy Storage Plant Side Outlet Temperature~~~~ !- HVAC Average [°C]
\item
  Thermal Energy Storage Plant Side Mass Flow Rate~~~~~~~~ !- HVAC Average [kg/s]
\end{itemize}

\paragraph{Thermal Energy Storage Percent Capacity [–]}\label{pcmstorage-percent-capacity}

The fraction of latent heat stored in the PCM tank relative to its total latent capacity.

\paragraph{Thermal Energy Storage Heat Loss Rate [W]}\label{pcmstorage-heat-loss-rate-output}

The instantaneous heat loss from the PCM tank to the surroundings.

\paragraph{Thermal Energy Storage Energy Stored [J]}\label{pcmstorage-energy-stored}

The current amount of energy stored in the PCM tank (latent plus sensible).

\paragraph{Thermal Energy Storage Tank Temperature [°C]}\label{pcmstorage-tank-temperature}

The calculated bulk temperature of the PCM in the tank.

\paragraph{Thermal Energy Storage Use Side Heat Transfer Rate [W]}\label{pcmstorage-use-side-heat-transfer-rate}

The rate of heat transfer from the PCM to the use side water (positive when energy leaves the tank).

\paragraph{Thermal Energy Storage Plant Side Heat Transfer Rate [W]}\label{pcmstorage-plant-side-heat-transfer-rate}

The rate of heat transfer from the plant side water to the PCM (positive when energy enters the tank).

\paragraph{Thermal Energy Storage Use Side Inlet Temperature [°C]}\label{pcmstorage-use-side-inlet-temperature}

The temperature of the water entering the use side of the PCM tank.

\paragraph{Thermal Energy Storage Use Side Outlet Temperature [°C]}\label{pcmstorage-use-side-outlet-temperature}

The temperature of the water exiting the use side of the PCM tank.

\paragraph{Thermal Energy Storage Use Side Mass Flow Rate [kg/s]}\label{pcmstorage-use-side-mass-flow-rate}

The mass flow rate through the use side of the PCM tank.

\paragraph{Thermal Energy Storage Plant Side Inlet Temperature [°C]}\label{pcmstorage-plant-side-inlet-temperature}

The temperature of the water entering the plant side of the PCM tank.

\paragraph{Thermal Energy Storage Plant Side Outlet Temperature [°C]}\label{pcmstorage-plant-side-outlet-temperature}

The temperature of the water exiting the plant side of the PCM tank.

\paragraph{Thermal Energy Storage Plant Side Mass Flow Rate [kg/s]}\label{pcmstorage-plant-side-mass-flow-rate}

The mass flow rate through the plant side of the PCM tank.
